<feed xmlns="http://www.w3.org/2005/Atom"> <id>blog.x99.fr/</id><title>X99's blog</title><subtitle>My personal blog.</subtitle> <updated>2024-11-11T23:50:37+01:00</updated> <author> <name>X99</name> <uri>blog.x99.fr/</uri> </author><link rel="self" type="application/atom+xml" href="blog.x99.fr/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="blog.x99.fr/"/> <generator uri="https://jekyllrb.com/" version="4.3.4">Jekyll</generator> <rights> © 2024 X99 </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Unlocking the Power of Coroutines in Modern C++</title><link href="blog.x99.fr/posts/Unlocking-the-power-of-coroutines-in-modern-cpp/" rel="alternate" type="text/html" title="Unlocking the Power of Coroutines in Modern C++" /><published>2024-11-11T18:02:00+01:00</published> <updated>2024-11-11T23:50:01+01:00</updated> <id>blog.x99.fr/posts/Unlocking-the-power-of-coroutines-in-modern-cpp/</id> <content src="blog.x99.fr/posts/Unlocking-the-power-of-coroutines-in-modern-cpp/" /> <author> <name>X99</name> </author> <category term="C++" /> <summary> The release of C++20 brought a plethora of new features to the language, but perhaps none as transformative as coroutines. Coroutines introduce a powerful abstraction for asynchronous programming, enabling developers to write code that is both efficient and easy to understand. In this blog post, we’ll dive deep into the world of coroutines, exploring how they work under the hood and how you can... </summary> </entry> <entry><title>C++ move semantics benefits</title><link href="blog.x99.fr/posts/move-semantics/" rel="alternate" type="text/html" title="C++ move semantics benefits" /><published>2022-12-15T21:10:00+01:00</published> <updated>2022-12-15T23:17:44+01:00</updated> <id>blog.x99.fr/posts/move-semantics/</id> <content src="blog.x99.fr/posts/move-semantics/" /> <author> <name>X99</name> </author> <category term="C++" /> <summary> In a previous post, I talked about every kind of constructors modern C++ offers. I briefly introduces move constructors. Here I’m going to explain move semantics and why it’s so useful. Comparing the Performance of Copying and Moving std::string Objects C++11 introduced the std::move function, which allows objects to be moved instead of copied. Moving an object is more efficient than copying i... </summary> </entry> <entry><title>C++ objects lifetime</title><link href="blog.x99.fr/posts/Cpp-object-lifetime/" rel="alternate" type="text/html" title="C++ objects lifetime" /><published>2022-12-15T12:51:00+01:00</published> <updated>2022-12-15T23:16:01+01:00</updated> <id>blog.x99.fr/posts/Cpp-object-lifetime/</id> <content src="blog.x99.fr/posts/Cpp-object-lifetime/" /> <author> <name>X99</name> </author> <category term="C++" /> <summary> Object lifetime in C++ refers to the time during which an object exists and is accessible in a program. Understanding object lifetime is important because it affects the behavior of a program and can impact the performance of the code. In this blog post, we will discuss object lifetime in C++ and the different types of constructors and destructors that are used to manage object lifetime. Discl... </summary> </entry> <entry><title>Hyperfine, a better version of time</title><link href="blog.x99.fr/posts/Hyperfine/" rel="alternate" type="text/html" title="Hyperfine, a better version of time" /><published>2022-09-12T18:30:00+02:00</published> <updated>2022-09-12T18:48:33+02:00</updated> <id>blog.x99.fr/posts/Hyperfine/</id> <content src="blog.x99.fr/posts/Hyperfine/" /> <author> <name>X99</name> </author> <category term="Sysadmin" /> <category term="Better CLI tools" /> <summary> Sick of boring time command? Sure, there is nothing very exciting about this one, even if it does its job quite well: Here is Hyperfine, a drop-in replacement for time written in Rust that offers way, way more features than plain ol’ time. Hyperfine can handle program warm-up, multiple runs, parameters for your benchmarks, cleanup and many more. It can even export its results in a JSON fi... </summary> </entry> <entry><title>Setting up Intel SGX on Ubuntu</title><link href="blog.x99.fr/posts/Setting-up-Intel-SGX/" rel="alternate" type="text/html" title="Setting up Intel SGX on Ubuntu" /><published>2022-09-12T18:00:00+02:00</published> <updated>2022-09-12T18:00:00+02:00</updated> <id>blog.x99.fr/posts/Setting-up-Intel-SGX/</id> <content src="blog.x99.fr/posts/Setting-up-Intel-SGX/" /> <author> <name>X99</name> </author> <category term="Sysadmin" /> <category term="Intel SGX" /> <summary> Intel’s Software Guard Extension is a CPU instruction set that allows you to run sensitive code into an encrypted part of memory called an enclave. This enclave is completely isolated from the rest of running processes and cannot (in theory at least) be accessed by any other process that the one that created it, even by the OS itself. If I find enough time, I may write a post about how SGX work... </summary> </entry> </feed>
