<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Welcome to /dev/null notes on /dev/null notes</title><link>https://dev0notes.com/</link><description>Recent content in Welcome to /dev/null notes on /dev/null notes</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 12 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://dev0notes.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Recursive lambdas in C++</title><link>https://dev0notes.com/posts/2026-06-12-recursive_lambdas/</link><pubDate>Fri, 12 Jun 2026 00:00:00 +0000</pubDate><guid>https://dev0notes.com/posts/2026-06-12-recursive_lambdas/</guid><description>&lt;p&gt;There are algorithms that have a natural &lt;em&gt;recursive&lt;/em&gt; representation and are very cumbersome or painful to write iteratively. With the advent of lambda expressions in C++11, it seemed only natural that they should support recursive calls. But reality hit hard: recursion and lambdas didn&amp;rsquo;t mix at all until C++14, and even then the support was far from programmer-friendly. The newest C++ edition finally brings the possibility of creating a recursive lambda to the table.&lt;/p&gt;</description></item><item><title>Annotations in C++26 static reflection</title><link>https://dev0notes.com/posts/2026-06-06_annotations/</link><pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate><guid>https://dev0notes.com/posts/2026-06-06_annotations/</guid><description>&lt;p&gt;&lt;em&gt;C++26&lt;/em&gt; added static reflection to the already big bag of compile-time features. One of the most powerful tools that made it into the language is the ability to use custom annotations and to inspect them at compile time. Here, we will see how to define and use annotations, and how to pass various arguments to them that can be extracted through reflection.&lt;/p&gt;</description></item><item><title>About</title><link>https://dev0notes.com/pages/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dev0notes.com/pages/about/</guid><description>&lt;div class="lead !mb-9 text-xl"&gt;
 hic sunt dracones&amp;hellip;
&lt;/div&gt;

&lt;p&gt;Hi, I&amp;rsquo;m Dawid Zalewski.
I can read code reasonably well and (somewhat worse) write it. Mostly in C++ and in C. But occasionally I also venture into the likes of Python, Rust, Bash, Haskell and others. This site collects my loose thoughts and results of investigations &lt;em&gt;down the rabbit hole&lt;/em&gt; on things I find interesting. Normally, these would end up in &lt;a href="https://nl.wikipedia.org/wiki//dev/null" target="_blank" rel="noreferrer"&gt;&lt;code&gt;/dev/null&lt;/code&gt;&lt;/a&gt;, hence the name.&lt;/p&gt;</description></item><item><title>Talking</title><link>https://dev0notes.com/pages/talking/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dev0notes.com/pages/talking/</guid><description>&lt;p&gt;Occasionally, I give talks on topics related to the technicalities of C++, C, systems programming and software development in general.
Here you&amp;rsquo;ll find a list with recordings and slides from my past talks.&lt;/p&gt;
&lt;h4 id="-lambdas-at-meeting-c-2019" class="relative group"&gt;▸ &lt;em&gt;Lambdas&amp;ndash;the good, the bad, and the tricky&lt;/em&gt; at &lt;a href="https://meetingcpp.com/2019/" target="_blank" rel="noreferrer"&gt;Meeting C++ 2019&lt;/a&gt; &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#-lambdas-at-meeting-c-2019" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;&lt;span class="indent"&gt;:newspaper: &lt;a href="https://dev0notes.com/slides/2019_meeting_cpp_lambdas.pdf" title="Slides" target="_blank" rel="noreferrer"&gt;Slides&lt;/a&gt;
&lt;/br&gt;
:tv: Sadly, because of an equipment malfunction, a recording of this talk is not available. :disappointed:&lt;/span&gt;
&lt;h4 id="-structured-bindings-uncovered-at-c-on-sea-2020" class="relative group"&gt;▸ &lt;em&gt;Structured bindings uncovered&lt;/em&gt; at &lt;a href="https://cpponsea.uk/2020/" target="_blank" rel="noreferrer"&gt;C++ on Sea 2020&lt;/a&gt; &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#-structured-bindings-uncovered-at-c-on-sea-2020" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;&lt;span class="indent"&gt;:newspaper: &lt;a href="https://dev0notes.com/slides/2020_cpp_on_sea_structured_bindings.pdf" title="Slides" target="_blank" rel="noreferrer"&gt;Slides&lt;/a&gt;
&lt;/br&gt;
:tv: &lt;a href="https://www.youtube.com/watch?v=uZCvz-E1heA" target="_blank" rel="noreferrer"&gt;Recording of the session&lt;/a&gt;&lt;/span&gt;
&lt;h4 id="-lambdas-uses-and-abuses-at-meeting-c-2020" class="relative group"&gt;▸ &lt;em&gt;Lambdas, uses and abuses&lt;/em&gt; at &lt;a href="https://meetingcpp.com/2020/" target="_blank" rel="noreferrer"&gt;Meeting C++ 2020&lt;/a&gt; &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#-lambdas-uses-and-abuses-at-meeting-c-2020" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;&lt;span class="indent"&gt;:newspaper: &lt;a href="https://dev0notes.com/slides/2020_meeting_cpp_lambdas.pdf" title="Slides" target="_blank" rel="noreferrer"&gt;Slides&lt;/a&gt;
&lt;/br&gt;
:tv: &lt;a href="https://www.youtube.com/watch?v=Onv9w6FGwIQ" target="_blank" rel="noreferrer"&gt;Recording of the session&lt;/a&gt;&lt;/span&gt;
&lt;h4 id="-modern-c-on-sea-a-half-day-workshop-on-modern-c-at-c-on-sea-2021" class="relative group"&gt;▸ &lt;em&gt;Modern C on Sea&lt;/em&gt;, a half-day workshop on modern C, at &lt;a href="https://cpponsea.uk/2021/" target="_blank" rel="noreferrer"&gt;C++ on Sea 2021&lt;/a&gt; &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#-modern-c-on-sea-a-half-day-workshop-on-modern-c-at-c-on-sea-2021" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;&lt;span class="indent"&gt;&lt;em&gt;This was a workshop, so there&amp;rsquo;s no recording or slides available.&lt;/em&gt;&lt;/span&gt;
&lt;h4 id="-to-pass-and-return-at-meeting-c-2021" class="relative group"&gt;▸ &lt;em&gt;To pass and return&amp;ndash;the story of functions, values and compilers&lt;/em&gt; at &lt;a href="https://meetingcpp.com/2021/" target="_blank" rel="noreferrer"&gt;Meeting C++ 2021&lt;/a&gt; &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#-to-pass-and-return-at-meeting-c-2021" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;&lt;span class="indent"&gt;:newspaper: &lt;a href="https://dev0notes.com/slides/2021_meeting_cpp_to_pass_and_return.pdf" title="Slides" target="_blank" rel="noreferrer"&gt;Slides&lt;/a&gt;
&lt;/br&gt;
:tv: &lt;a href="https://www.youtube.com/watch?v=lxg-HWZvHEI" target="_blank" rel="noreferrer"&gt;Recording of the session&lt;/a&gt;&lt;/span&gt;
&lt;h4 id="-to-pass-and-return-at-c-on-sea-2022" class="relative group"&gt;▸ &lt;em&gt;To pass and return&amp;ndash;the story of functions, values and compilers&lt;/em&gt; at &lt;a href="https://cpponsea.uk/" target="_blank" rel="noreferrer"&gt;C++ on Sea 2022&lt;/a&gt; &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#-to-pass-and-return-at-c-on-sea-2022" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;&lt;span class="indent"&gt;&lt;p&gt;&lt;em&gt;This is an updated and modified version of the talk I gave at &lt;a href="https://meetingcpp.com/2021/" target="_blank" rel="noreferrer"&gt;Meeting C++ 2021&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>