<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://www.sandordargo.com/</id><title>Sandor Dargo's Blog</title><subtitle>Sandor Dargo writes about about C++, software development, books and stoic philosophy applied to software craftsmanship</subtitle> <updated>2026-06-05T10:26:34+02:00</updated> <author> <name>Sandor Dargo</name> <uri>https://www.sandordargo.com/</uri> </author><link rel="self" type="application/atom+xml" href="https://www.sandordargo.com/feed.xml"/><link rel="alternate" type="text/html" hreflang="en-US" href="https://www.sandordargo.com/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 Sandor Dargo </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Keeping Code Reviews From Dragging</title><link href="https://www.sandordargo.com/blog/2026/06/03/making-reviews-actually-fast" rel="alternate" type="text/html" title="Keeping Code Reviews From Dragging" /><published>2026-06-03T00:00:00+02:00</published> <updated>2026-06-03T00:00:00+02:00</updated> <id>https://www.sandordargo.com/blog/2026/06/03/making-reviews-actually-fast</id> <content src="https://www.sandordargo.com/blog/2026/06/03/making-reviews-actually-fast" /> <author> <name>Sandor Dargo</name> </author> <category term="dev" /> <summary> You know the feeling. You open a pull request on Monday morning. You ping the reviewer(s). You go to lunch. You come back. Nothing. You context-switch to something else. On Wednesday, the reviewer finally leaves a comment — a single one, on a minor detail. You fix it. You wait again. By Friday, the PR is still open, the branch is conflicting with master, and you’ve forgotten half of what the ag... </summary> </entry> <entry><title>C++26: Ordering of constraints involving fold expressions</title><link href="https://www.sandordargo.com/blog/2026/05/27/cpp26-constraints-ordering-fold-expressions" rel="alternate" type="text/html" title="C++26: Ordering of constraints involving fold expressions" /><published>2026-05-27T00:00:00+02:00</published> <updated>2026-05-27T00:00:00+02:00</updated> <id>https://www.sandordargo.com/blog/2026/05/27/cpp26-constraints-ordering-fold-expressions</id> <content src="https://www.sandordargo.com/blog/2026/05/27/cpp26-constraints-ordering-fold-expressions" /> <author> <name>Sandor Dargo</name> </author> <category term="dev" /> <summary> You have two overloads of g(). One requires A&amp;lt;T&amp;gt; for each element in a pack, the other requires C&amp;lt;T&amp;gt; — where C is a stricter concept that subsumes A. Both apply to the types you’re passing. The compiler should pick the more constrained version. But instead it complains about an ambiguous call. This is a limitation of how C++20 and 23 handle constraints that use fold expressions — f... </summary> </entry> <entry><title>C++26: More function wrappers</title><link href="https://www.sandordargo.com/blog/2026/05/20/cpp26-copyable-function" rel="alternate" type="text/html" title="C++26: More function wrappers" /><published>2026-05-20T00:00:00+02:00</published> <updated>2026-05-20T00:00:00+02:00</updated> <id>https://www.sandordargo.com/blog/2026/05/20/cpp26-copyable-function</id> <content src="https://www.sandordargo.com/blog/2026/05/20/cpp26-copyable-function" /> <author> <name>Sandor Dargo</name> </author> <category term="dev" /> <summary> C++26 continues to fill the gaps in our type-erased callable wrapper story. We already had std::function since C++11 and std::move_only_function since C++23, but there were still missing pieces. Now we’re getting two new additions: std::copyable_function and std::function_ref. What’s wrong with std::function? std::function has served us well, but it has two well-known issues. First, it can ... </summary> </entry> <entry><title>C++26: Standard library hardening</title><link href="https://www.sandordargo.com/blog/2026/05/13/cpp26-library-hardening" rel="alternate" type="text/html" title="C++26: Standard library hardening" /><published>2026-05-13T00:00:00+02:00</published> <updated>2026-05-13T00:00:00+02:00</updated> <id>https://www.sandordargo.com/blog/2026/05/13/cpp26-library-hardening</id> <content src="https://www.sandordargo.com/blog/2026/05/13/cpp26-library-hardening" /> <author> <name>Sandor Dargo</name> </author> <category term="dev" /> <summary> Undefined behavior (UB) in C++ is one of the hardest categories of bugs to deal with. It can silently corrupt memory, cause crashes far from the actual mistake, or — worst of all — just happens to work on your machine. A significant share of UB in real codebases comes not from exotic language features, but from basic misuse of the standard library: accessing a vector out of bounds, calling fron... </summary> </entry> <entry><title>An Immigrant's Love Letter to the West by Konstantin Kisin</title><link href="https://www.sandordargo.com/blog/2026/05/09/an-immigrant-s-love-letter-by-kisin" rel="alternate" type="text/html" title="An Immigrant's Love Letter to the West by Konstantin Kisin" /><published>2026-05-09T00:00:00+02:00</published> <updated>2026-05-09T00:00:00+02:00</updated> <id>https://www.sandordargo.com/blog/2026/05/09/an-immigrant-s-love-letter-by-kisin</id> <content src="https://www.sandordargo.com/blog/2026/05/09/an-immigrant-s-love-letter-by-kisin" /> <author> <name>Sandor Dargo</name> </author> <category term="books" /> <summary> I recently stumbled upon the TRIGGERnometry podcast, which brands itself as a “free speech show”. It’s hosted by two (former) comedians, Konstantin Kisin and Francis Foster. I usually listen to these podcasts while working out, and what I really appreciate about them is that they host people with very different views and always have respectful, unfiltered discussions. Yes, honest debate without... </summary> </entry> </feed>
