<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/style.xsl" type="text/xsl"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Cédric's website</title>
    <link>https://www.cedricbonhomme.org/blog/</link>
    <description>It's all about open source, digital freedom, and art.</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <lastBuildDate>Sun, 10 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.cedricbonhomme.org/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Alcohol-Free, and It&#39;s Actually Pretty Easy</title>
      <link>https://www.cedricbonhomme.org/2026/05/10/alcohol-free/</link>
      <pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate>
      <guid>https://www.cedricbonhomme.org/2026/05/10/alcohol-free/</guid>
      <description>&lt;p&gt;I stopped drinking on 9 November 2025, a Sunday, the day after the &lt;a href=&#34;https://unlockyourbrain.bzh&#34;&gt;Unlock Your Brain&lt;/a&gt; conference. No grand resolution, no rock bottom, no challenge to announce. Just a quiet decision that felt, for the first time in a long while, completely mine.&lt;/p&gt;&#xA;&lt;p&gt;I won&amp;rsquo;t pretend I had a dramatic relationship with alcohol. I didn&amp;rsquo;t. A glass of wine with dinner, a beer on the terrace in summer, nothing that would worry anyone. But over time I noticed how often I was reaching for a drink without really wanting one. Out of habit. Out of routine. Because it was Friday, because the day had been long, or simply because the bottle was there. That bothered me more than the alcohol itself.&lt;/p&gt;&#xA;&lt;p&gt;I expected to miss it. I expected awkward dinners, friends teasing me, evenings that felt suddenly flat. None of it really happened. It was easier than I&amp;rsquo;d imagined. A sparkling water does the job almost everywhere, and most people don&amp;rsquo;t care what&amp;rsquo;s in your glass. The few who asked were mostly curious, sometimes a little wistful. Family gatherings were a bit different, though: occasionally a little awkward, and once or twice judgmental.&lt;/p&gt;&#xA;&lt;p&gt;There&amp;rsquo;s also something deeper, as a father. I don&amp;rsquo;t want to be the guy opening a beer the moment the workday ends. I want my kids to see the best of me: present, patient, and clear-headed. Not perfect, just fully there. They&amp;rsquo;re already proud of me for it, and they&amp;rsquo;re also more aware now of the dangers of alcohol.&lt;/p&gt;&#xA;&lt;p&gt;Another reason is agency. I want to stay in command of my life, and I don&amp;rsquo;t want any kind of drug, however socially accepted, to control me. I also want to maximize my healthy years, not just to live longer, but to stay in good shape for longer with my kids.&lt;/p&gt;&#xA;&lt;p&gt;And then there&amp;rsquo;s running. I wrote in February about &lt;a href=&#34;https://www.cedricbonhomme.org/2026/02/20/running-my-first-half-marathon/&#34;&gt;training for my first half marathon&lt;/a&gt;, which is, by the way, in six days. I genuinely don&amp;rsquo;t think I would have arrived at the start line in the same shape if I&amp;rsquo;d kept drinking. Recovery is faster. Long runs hurt less the next day. Lacing up at 6 a.m. on a cold morning is dramatically easier when you didn&amp;rsquo;t have a drink the night before, even in winter at -2°C. Running and staying alcohol-free have become two halves of the same habit, each quietly reinforcing the other.&lt;/p&gt;&#xA;&lt;p&gt;This change is also why, on my &lt;a href=&#34;https://www.cedricbonhomme.org/now/&#34;&gt;/now page&lt;/a&gt;, I describe myself as &amp;ldquo;mostly alcohol-free.&amp;rdquo; I want to leave room for the very rare special occasion, a wedding or a once-in-a-decade reunion, without making a religion of it. But almost six months in, I&amp;rsquo;ve noticed I don&amp;rsquo;t actually want those exceptions much anymore. The idea of a drink simply doesn&amp;rsquo;t pull at me the way I thought it would.&lt;/p&gt;&#xA;&lt;p&gt;If you&amp;rsquo;ve ever wondered whether you should cut back or stop, the only honest thing I can tell you is this: it&amp;rsquo;s much easier than you think. You don&amp;rsquo;t need a program, a label, or a public commitment. You just stop, and then you keep not drinking, one ordinary evening at a time. For me, it was really that simple.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Running My First Half Marathon</title>
      <link>https://www.cedricbonhomme.org/2026/02/20/running-my-first-half-marathon/</link>
      <pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://www.cedricbonhomme.org/2026/02/20/running-my-first-half-marathon/</guid>
      <description>&lt;p&gt;Dear happy readers and runners,&lt;/p&gt;&#xA;&lt;p&gt;I’m running the ING Night Marathon Luxembourg (half marathon) on 16 May 2026. It will be my first half marathon and I’m excited — and a little nervous.&lt;/p&gt;&#xA;&lt;p&gt;I’ve been working on becoming a better runner &lt;a href=&#34;https://www.cedricbonhomme.org/2016/08/24/augmented-self/&#34;&gt;since around 2016&lt;/a&gt;. Over the years I made steady efforts: short, regular runs, slowly increasing my long-run distance, learning to pace myself, and prioritising recovery (especially this point 🙃). It hasn’t always been linear — there were busy periods and slow months — but I really feel I’ve evolved since those early years. Today I have more endurance, better pacing, and a calmer mindset on race day, and this half marathon feels like a milestone for that long-term progress — though it’s only one step. Finally, I genuinely enjoy running — I no longer have to force myself to go for a run.&#xA;I’m still in good shape: no knee pain, no history of serious injuries, and overall I feel better than I did ten years ago.&#xA;I usually run routes with a lot of elevation (250–320 m for 10 km) and almost always run in the woods or out in nature, mostly on the same trails close to where I live. They’re beautiful runs, and I absolutely always run with music; here’s my evolving &lt;a href=&#34;https://open.spotify.com/playlist/3U0UeI07OVTG4mNNqYCdEU?si=2aGz2VExT3uQaY-BLjQRSg&amp;amp;pi=s4qdkQKJTMitX&#34;&gt;playlist&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;My goal for the day is simple: just finish the race alive. I’m not following a strict training plan; I run whenever I can — often in the rain and, lately, in the cold, whether in the morning or the evening.&lt;/p&gt;&#xA;&lt;p&gt;If you’d like to follow my training or send encouragement, you can &lt;a href=&#34;https://www.strava.com/athletes/cedricbonhomme&#34;&gt;find me on Strava&lt;/a&gt; — your kudos truly help on long runs. They&amp;rsquo;re my fuel!&lt;/p&gt;&#xA;&lt;p&gt;If you’re running the race too, please say hello — I’d love to meet on the start line. And if you have race-day tips (clothing, pacing, nutrition), I’m all ears.&lt;/p&gt;&#xA;&lt;p&gt;Thanks for the support — wish me luck! 🏃‍♂️✨&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>RSS Feeds With a Fresh Coat of XSLT</title>
      <link>https://www.cedricbonhomme.org/2025/08/18/rss-xslt-styling/</link>
      <pubDate>Mon, 18 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://www.cedricbonhomme.org/2025/08/18/rss-xslt-styling/</guid>
      <description>&lt;p&gt;Yes, it’s 2025, and I’m still happily using RSS. Not only that. I’ve just gone and added an &lt;strong&gt;XSLT stylesheet&lt;/strong&gt; to my blog’s feed: &lt;a href=&#34;https://www.cedricbonhomme.org/blog/index.xml&#34;&gt;https://www.cedricbonhomme.org/blog/index.xml&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Why? Because why not.&lt;/p&gt;&#xA;&lt;p&gt;For most people, an RSS feed is just raw XML that either:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Opens in a newsreader (if you’re one of the enlightened few), or&lt;/li&gt;&#xA;&lt;li&gt;Looks like incomprehensible angle-bracket soup in the browser.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;With XSLT styling, the second group of people at least gets a &lt;strong&gt;pretty preview&lt;/strong&gt; instead of a wall of tags. Think of it as putting lipstick on an XML pig. Except this pig now has a decent font, some CSS, and a “Visit Website →” button. 🐷✨&lt;/p&gt;&#xA;&lt;h3 id=&#34;the-retro-charm&#34;&gt;The Retro Charm&lt;/h3&gt;&#xA;&lt;p&gt;There’s something delightfully anachronistic about it. Everyone is busy chasing the latest AI-powered social streams, and I’m here polishing my RSS feed with technology that first appeared around the time flip phones were cool.  With my cup of tea.&lt;/p&gt;&#xA;&lt;p&gt;It’s like maintaining a vinyl collection in the age of streaming.&lt;/p&gt;&#xA;&lt;h3 id=&#34;how-it-works&#34;&gt;How It Works&lt;/h3&gt;&#xA;&lt;p&gt;The trick is simple:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add an XML stylesheet declaration at the top of your feed.&lt;/li&gt;&#xA;&lt;li&gt;Serve it with the right header.&lt;/li&gt;&#xA;&lt;li&gt;Write some XSLT and CSS to make it look decent.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Voilà, your feed is no longer a sad text dump. It’s a &lt;strong&gt;mini landing page&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The Hugo template for my feed now includes an XML declaration and a reference to the XSLT stylesheet:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{- printf &amp;#34;&lt;span class=&#34;cp&#34;&gt;&amp;lt;?xml version=\&amp;#34;1.0\&amp;#34; encoding=\&amp;#34;utf-8\&amp;#34; standalone=\&amp;#34;yes\&amp;#34;?&amp;gt;&lt;/span&gt;&amp;#34; | safeHTML }}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{- printf &amp;#34;&lt;span class=&#34;cp&#34;&gt;&amp;lt;?xml-stylesheet href=%q type=\&amp;#34;text/xsl\&amp;#34;?&amp;gt;&lt;/span&gt;&amp;#34; (&amp;#34;style.xsl&amp;#34; | relLangURL) | safeHTML }}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The stylesheet itself lives at &lt;a href=&#34;https://www.cedricbonhomme.org/style.xsl&#34;&gt;style.xsl&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;why-bother&#34;&gt;Why Bother?&lt;/h3&gt;&#xA;&lt;p&gt;Because RSS is still awesome. It’s decentralized, private, and doesn’t shove ads or tracking down your throat. And now, if a curious visitor stumbles on my feed, they’ll see something friendly instead of a developer-only artifact.&lt;/p&gt;&#xA;&lt;p&gt;So, if you’re also clinging lovingly to RSS in 2025:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Subscribe to my blog via your favorite newsreader.&lt;/li&gt;&#xA;&lt;li&gt;Or just admire the shiny styled feed in your browser.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Long live RSS. Long live XSLT. Long live &lt;a href=&#34;https://github.com/cedricbonhomme/newspipe&#34;&gt;Newspipe&lt;/a&gt;!&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Stegano 2.0.0 released</title>
      <link>https://www.cedricbonhomme.org/2025/06/22/stegano-2-0-0/</link>
      <pubDate>Sun, 22 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://www.cedricbonhomme.org/2025/06/22/stegano-2-0-0/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m pleased to announce the release of &lt;strong&gt;Stegano 2.0.0&lt;/strong&gt;!&lt;/p&gt;&#xA;&lt;p&gt;After a series of minor releases, the Stegano project reaches a new milestone with a great new feature.&lt;/p&gt;&#xA;&lt;h3 id=&#34;notable-changes&#34;&gt;Notable changes&lt;/h3&gt;&#xA;&lt;p&gt;Hide and reveal messages in PCM encoded .wav files. Your secrets now have a soundtrack!&lt;/p&gt;&#xA;&lt;p&gt;The command line interface has been updated to let you use this new feature directly from your shell.&#xA;It&amp;rsquo;s quite convenient if you install Stegano using pipx.&lt;/p&gt;&#xA;&lt;h3 id=&#34;other-minor-changes&#34;&gt;Other minor changes&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Improved type annotations.&lt;/li&gt;&#xA;&lt;li&gt;Updated dependencies.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Stegano is a pure Python steganography library designed to make hiding messages in plain sight easy and educational.&#xA;Whether you’re experimenting or building something more serious.&lt;/p&gt;&#xA;&lt;p&gt;Check it out or contribute: &lt;a href=&#34;https://github.com/cedricbonhomme/Stegano&#34;&gt;https://github.com/cedricbonhomme/Stegano&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Documentation: &lt;a href=&#34;https://stegano.readthedocs.io&#34;&gt;https://stegano.readthedocs.io&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Install from Pypi: &lt;a href=&#34;https://pypi.org/project/stegano&#34;&gt;https://pypi.org/project/stegano&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Thank you to all contributors who helped make this happen!&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Newspipe 11.1.0 released</title>
      <link>https://www.cedricbonhomme.org/2024/11/17/newspipe-11-1-0/</link>
      <pubDate>Sun, 17 Nov 2024 20:57:24 +0000</pubDate>
      <guid>https://www.cedricbonhomme.org/2024/11/17/newspipe-11-1-0/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m pleased to announce the release of &lt;strong&gt;Newspipe 11.1.0&lt;/strong&gt;, introducing several enhancements to improve your experience.&lt;/p&gt;&#xA;&lt;h2 id=&#34;new-features&#34;&gt;New Features&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Dynamic Content Loading:&lt;/strong&gt; The homepage now loads article content only when it becomes visible, optimizing performance and reducing initial load times.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Security Advisory Detection:&lt;/strong&gt; A new command identifies various security advisories—such as CVEs, GHSAs, PySec, and CSAF reports—within articles from specified categories. The extracted data is automatically transmitted to the Vulnerability-Lookup API as sightings.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Feed Collections:&lt;/strong&gt; You can now view collections of feeds without requiring a user identifier, making feed management more flexible.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;improvements&#34;&gt;Improvements&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;LDAP Documentation:&lt;/strong&gt; Enhanced for easier configuration and understanding.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Theme Enhancements:&lt;/strong&gt; Various improvements to the dark and light themes for a smoother visual experience.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Main Page Refinements:&lt;/strong&gt; Numerous updates to optimize and refine the main page layout and usability.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Icon Update:&lt;/strong&gt; All icons have been updated, and unnecessary ones removed, for a cleaner interface.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;CSRF Protection:&lt;/strong&gt; Enabled globally to enhance security.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Dependencies Update:&lt;/strong&gt; Python and JavaScript dependencies have been updated to their latest versions.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Translations:&lt;/strong&gt; French translations have been updated.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Smooth Theme Switching:&lt;/strong&gt; Enhanced light/dark theme transitions for a flicker-free experience.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;As Newspipe approaches its 15th anniversary, I invite you to explore the latest version.&lt;br&gt;&#xA;You can find the project on GitHub: &lt;a href=&#34;https://github.com/cedricbonhomme/newspipe&#34;&gt;https://github.com/cedricbonhomme/newspipe&lt;/a&gt;.&lt;br&gt;&#xA;If you find it useful, please consider starring the repository—it truly helps!&lt;/p&gt;&#xA;&lt;p&gt;Thank you for your continued support and feedback over the years.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>My default apps at the end of 2023</title>
      <link>https://www.cedricbonhomme.org/2023/11/08/my-default-apps-at-the-end-of-2023/</link>
      <pubDate>Wed, 08 Nov 2023 20:35:00 +0000</pubDate>
      <guid>https://www.cedricbonhomme.org/2023/11/08/my-default-apps-at-the-end-of-2023/</guid>
      <description>&lt;p&gt;As the end of the year approaches, numerous trendsetting individuals&#xA;are sharing their curated list of preferred tools on their blogs.&#xA;Embracing the spirit of this trend, I present my own selection.&#xA;Without further ado:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;📨 Mail Service: AlwaysData&lt;/li&gt;&#xA;&lt;li&gt;📮 Mail Client: Kmail and Nextcloud - Mail&lt;/li&gt;&#xA;&lt;li&gt;📝 Notes: Nextcloud - Notes&lt;/li&gt;&#xA;&lt;li&gt;📆 Calendar: Kalendar and Nextcloud (both synchronized with aKonadi)&lt;/li&gt;&#xA;&lt;li&gt;🙍🏻‍♂️ Contacts: Kontact and Nextcloud (both synchronized with aKonadi)&lt;/li&gt;&#xA;&lt;li&gt;📖 RSS Service: Newspipe&lt;/li&gt;&#xA;&lt;li&gt;🗞️ RSS Client: Newspipe&lt;/li&gt;&#xA;&lt;li&gt;⌨️ Launcher: Kickoff (the KDE launcher)&lt;/li&gt;&#xA;&lt;li&gt;☁️ Cloud storage: Nextcloud&lt;/li&gt;&#xA;&lt;li&gt;🌅 Photo library: Piwigo and DigiKam&lt;/li&gt;&#xA;&lt;li&gt;🌐 Web Browser: Firefox&lt;/li&gt;&#xA;&lt;li&gt;💬 Chat: Matrix, Mattermost, Signal, IRC and WhatsApp&lt;/li&gt;&#xA;&lt;li&gt;🔖 Bookmarks: Newspipe&lt;/li&gt;&#xA;&lt;li&gt;📚 Reading: Real books and LibraryThing in order to keep track of my books&lt;/li&gt;&#xA;&lt;li&gt;📜 Word Processing: LaTeX and LibreOffice&lt;/li&gt;&#xA;&lt;li&gt;📈 Spreadsheets: LibreOffice&lt;/li&gt;&#xA;&lt;li&gt;📊 Presentations: LaTeX and LibreOffice&lt;/li&gt;&#xA;&lt;li&gt;🛒 Shopping Lists: Nextcloud - Notes&lt;/li&gt;&#xA;&lt;li&gt;🎵 Music: Spotify, Qobuz and my upright piano (Oops, the last one is not an app 😉)&lt;/li&gt;&#xA;&lt;li&gt;🔐 Password Management: pass (the standard unix password manager)&lt;/li&gt;&#xA;&lt;li&gt;🤦‍♂️ Social Media: Mastodon&lt;/li&gt;&#xA;&lt;li&gt;🔎 Search: DuckDuckGo and Google&lt;/li&gt;&#xA;&lt;li&gt;🧮 Code Editor: VSCodium, Kate and Vim&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Am I cool?&lt;/p&gt;&#xA;&lt;p&gt;Post-scriptum: Robb Knight is&#xA;&lt;a href=&#34;https://defaults.rknight.me/&#34;&gt;maintaining a list of people who are joining in&lt;/a&gt;.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Newspipe 10.0.0</title>
      <link>https://www.cedricbonhomme.org/2023/11/08/newspipe-10-0-0/</link>
      <pubDate>Wed, 08 Nov 2023 20:05:00 +0000</pubDate>
      <guid>https://www.cedricbonhomme.org/2023/11/08/newspipe-10-0-0/</guid>
      <description>&lt;p&gt;I am thrilled to announce the release of&#xA;&lt;a href=&#34;https://github.com/cedricbonhomme/newspipe&#34;&gt;Newspipe&lt;/a&gt; version 10.0.0,&#xA;a project I started working on over 13 years ago!&lt;/p&gt;&#xA;&lt;p&gt;The standout addition in this release is the ldap-auth support,&#xA;along with a host of other notable improvements. And small bug fixes.&#xA;For a detailed list of changes, please refer to the&#xA;&lt;a href=&#34;https://github.com/cedricbonhomme/newspipe/releases/tag/v10.0.0&#34;&gt;changelog&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Newspipe continues to uphold its user-friendly and streamlined design&#xA;maintaining its core simplicity. Personally, I have relied on this tool&#xA;for over a decade, putting it through its paces with various technologies and features.&lt;/p&gt;&#xA;&lt;p&gt;Your contributions are highly welcome!&#xA;Whether it&amp;rsquo;s code improvements, feature suggestions, or reports on any&#xA;unexpected behavior. Remember: a surprised user is a happy user!&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>pyHIDS 0.8.0</title>
      <link>https://www.cedricbonhomme.org/2023/10/06/pyhids-0-8-0/</link>
      <pubDate>Fri, 06 Oct 2023 10:50:45 +0000</pubDate>
      <guid>https://www.cedricbonhomme.org/2023/10/06/pyhids-0-8-0/</guid>
      <description>&lt;p&gt;The new version of &lt;a href=&#34;https://github.com/cedricbonhomme/pyHIDS&#34;&gt;pyHIDS&lt;/a&gt;&#xA;offers the integration of&#xA;&lt;a href=&#34;https://github.com/MISP&#34;&gt;MISP&lt;/a&gt; and of&#xA;&lt;a href=&#34;https://github.com/virustotal/yara&#34;&gt;YARA&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;A MISP server can be queried in order to find potentially malicious files from the&#xA;checksums in the database of pyHIDS.&lt;br&gt;&#xA;The YARA module allows you to provide a set of YARA rules to apply to the&#xA;monitoried files.&lt;/p&gt;&#xA;&lt;p&gt;As a reminder,&#xA;&lt;a href=&#34;https://www.cedricbonhomme.org/2023/08/04/pyhids-0-6-1/&#34;&gt;a recent previous version&lt;/a&gt;&#xA;of pyHIDS introduced the integration of&#xA;&lt;a href=&#34;https://github.com/hashlookup&#34;&gt;Hashlookup&lt;/a&gt; and of&#xA;&lt;a href=&#34;https://github.com/pandora-analysis&#34;&gt;Pandora&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;To be honest, I&amp;rsquo;m pretty happy with this new version.&lt;/p&gt;&#xA;&lt;p&gt;Of course, you are invited&#xA;&lt;a href=&#34;https://github.com/cedricbonhomme/pyHIDS/issues&#34;&gt;to submit&lt;/a&gt;&#xA;your ideas of new features!&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>pyHIDS 0.6.1</title>
      <link>https://www.cedricbonhomme.org/2023/08/04/pyhids-0-6-1/</link>
      <pubDate>Fri, 04 Aug 2023 09:00:00 +0000</pubDate>
      <guid>https://www.cedricbonhomme.org/2023/08/04/pyhids-0-6-1/</guid>
      <description>&lt;p&gt;The new version of &lt;a href=&#34;https://github.com/cedricbonhomme/pyHIDS&#34;&gt;pyHIDS&lt;/a&gt;&#xA;features the integration of&#xA;&lt;a href=&#34;https://github.com/hashlookup&#34;&gt;Hashlookup&lt;/a&gt; and&#xA;&lt;a href=&#34;https://github.com/pandora-analysis&#34;&gt;Pandora&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;You can install it from &lt;a href=&#34;https://pypi.org/project/pyhids&#34;&gt;Pypi&lt;/a&gt;,&#xA;for example with pipx:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ pipx install pyHIDS&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ &lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;PYHIDS_CONFIG&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;~/.pyHIDS/conf.cfg&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Example of usage:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ pyhids gen-keys --size &lt;span class=&#34;m&#34;&gt;2048&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Generating &lt;span class=&#34;m&#34;&gt;2048&lt;/span&gt; bits RSA keys ...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Dumping Keys&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Done.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ pyhids gen-base --sign&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Generating database...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;2427&lt;/span&gt; files in the database.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ pyhids run --check-signature&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Verifying the integrity of the base of hashes...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Database integrity verified.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Verifying the integrity of the files...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If you want to check the database of hashes against&#xA;Hashlookup and Pandora for known malicious files:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ pyhids hashlookup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ pyhids pandora&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>École de Musique Associative du Val Sierckois</title>
      <link>https://www.cedricbonhomme.org/2022/08/08/ecole-de-musique-associative-du-val-sierckois/</link>
      <pubDate>Mon, 08 Aug 2022 11:56:58 +0200</pubDate>
      <guid>https://www.cedricbonhomme.org/2022/08/08/ecole-de-musique-associative-du-val-sierckois/</guid>
      <description>&lt;p&gt;Une fois n&amp;rsquo;est pas coutume, ce billet est une petite publicité pour la jeune&#xA;&lt;a href=&#34;https://www.emavs.fr&#34;&gt;École de Musique Associative du Val Sierckois&lt;/a&gt;, basée&#xA;à Sierck-Les-Bains. C&amp;rsquo;est une super école ;-)&lt;/p&gt;&#xA;&lt;p&gt;Si vous êtes du secteur et avez envie d&amp;rsquo;apprendre la musique,&#xA;&lt;a href=&#34;https://www.emavs.fr/inscription&#34;&gt;n&amp;rsquo;hésitez pas&lt;/a&gt;. Les inscriptions sont ouvertes.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Back from holidays… and with new photos !</title>
      <link>https://www.cedricbonhomme.org/2022/08/01/back-from-holidays/</link>
      <pubDate>Mon, 01 Aug 2022 18:52:02 +0200</pubDate>
      <guid>https://www.cedricbonhomme.org/2022/08/01/back-from-holidays/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.cedricbonhomme.org/images/blog/2022/07/20220731003700-6969cbba-la.jpg&#34; alt=&#34;Hiking somewhere in France&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;We are back from our 2 weeks trip in South West of France.&#xA;It was really nice.&#xA;I just got back to my normal life today with various work related stuff to deal with.&#xA;It&amp;rsquo;s also nice ;-)&#xA;But this post is to tell you about the holidays of course.&#xA;So let&amp;rsquo;s start.&lt;/p&gt;&#xA;&lt;p&gt;We visited many places and drove approximately 3000 km by car.&#xA;Towards Spain.&#xA;This year, the Mazda worked perfectly, no technical problems (so it was not 6 months in the garage for nothing).&#xA;We consumed an average of 5.9 liters of fuel per 100 km. That&amp;rsquo;s really good.&#xA;But I admit that it requires a disciplined driving (it&amp;rsquo;s a 175 hp engine…).&#xA;I am still convinced to keep this car forever.&lt;/p&gt;&#xA;&lt;p&gt;We also cycled. Around 60 km. Not that much. But with two young children, it was enough.&#xA;For me without electric assistance and Élisabeth behind me on the same bike (plus various stuff).&#xA;Luckily there was very little elevation. It was on an isle.&#xA;The bike was not ideal, a basic rental bike…&#xA;And oh my god, my ass was hurting.&#xA;I can tell you that at the end of the day, you know what butt pain is.&#xA;An issue you won&amp;rsquo;t have in a Mazda 6 ;-)&lt;/p&gt;&#xA;&lt;p&gt;We walked a lot as well.&#xA;I climbed the Puy de Sancy to the top (1885 meter) with Elliot, the camera on my shoulders&#xA;(&lt;a href=&#34;https://www.cedricbonhomme.org/images/blog/2022/07/20220731013335-cf9b3580-la.jpg&#34;&gt;proof 1&lt;/a&gt;) and my Converse shoes&#xA;(&lt;a href=&#34;https://www.cedricbonhomme.org/images/blog/2022/07/shoes.jpeg&#34;&gt;proof 2&lt;/a&gt;).&#xA;It was not really difficult to be honest. Maybe a bit more harder when close to the end.&#xA;About the Converse, I am not kidding.&#xA;In the morning, they asked me if I had anything else.&#xA;If you know me well, you know the answer. I travel light…&lt;/p&gt;&#xA;&lt;p&gt;Last but not least, it was a good photo opportunity.&#xA;I had little time for photography lately.&#xA;I would like to share with you some of my favorite photos.&#xA;For this purpose I created several albums dedicated to this trip on my Piwigo instance:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://photos.cedricbonhomme.org/index.php?/category/25&#34;&gt;Isle of Oleron&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://photos.cedricbonhomme.org/index.php?/category/26&#34;&gt;Nouvelle-Aquitaine&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://photos.cedricbonhomme.org/index.php?/category/24&#34;&gt;Puy de Sancy&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Almost all photos are geotagged. You can have a look at the map.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>A “now” page</title>
      <link>https://www.cedricbonhomme.org/2022/05/12/now-page/</link>
      <pubDate>Thu, 12 May 2022 14:59:05 +0200</pubDate>
      <guid>https://www.cedricbonhomme.org/2022/05/12/now-page/</guid>
      <description>&lt;p&gt;Since the month of March there is &lt;a href=&#34;https://www.cedricbonhomme.org/now&#34;&gt;now page&lt;/a&gt; on this website.&#xA;You may have noticed it. I added it after the migration from WordPress.&lt;/p&gt;&#xA;&lt;p&gt;Most websites have a link that says “about” or “contact”. People also use&#xA;micro-blogging services to provide various kind of updates to their relatives&#xA;(or followers). A now page tells you what a person is focused on, at some&#xA;point in their life. Think of what you’d tell a friend you hadn’t seen in a year.&#xA;It&amp;rsquo;s the main goal.&lt;/p&gt;&#xA;&lt;p&gt;So I like the idea of this page. Not convinced ? See&#xA;&lt;a href=&#34;https://nownownow.com/about&#34;&gt;why you could make one&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Just in case you are wondering, I am Currently not interested in a “Uses” page.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Freshermeat 0.8.1</title>
      <link>https://www.cedricbonhomme.org/2022/05/10/freshermeat-0-8-1/</link>
      <pubDate>Tue, 10 May 2022 23:42:17 +0200</pubDate>
      <guid>https://www.cedricbonhomme.org/2022/05/10/freshermeat-0-8-1/</guid>
      <description>&lt;p&gt;I’ve recently released Freshermeat 0.8.1 and Freshermeat 0.8.0, which contains bug&#xA;fixes, some backend improvements (especially for the CVE fetcher)&#xA;and a brand new API based on the Flask-RESTX library. Migrating to the new API was a lot&#xA;of work.&lt;/p&gt;&#xA;&lt;p&gt;The only known service based on Freshermeat is available&#xA;&lt;a href=&#34;https://open-source-security-software.net&#34;&gt;here&lt;/a&gt; and is dedicated to open source&#xA;security projects. Do not hesitate to&#xA;&lt;a href=&#34;https://open-source-security-software.net/submit/&#34;&gt;submit&lt;/a&gt; your project. I operate this&#xA;instance.&lt;/p&gt;&#xA;&lt;p&gt;An OpenAPI Specification of the API&#xA;&lt;a href=&#34;https://open-source-security-software.net/api/v2/&#34;&gt;is available&lt;/a&gt;. You can play with it.&lt;/p&gt;&#xA;&lt;p&gt;For more details you can read the release notes&#xA;&lt;a href=&#34;https://git.sr.ht/~cedric/freshermeat/refs/v0.8.1&#34;&gt;here&lt;/a&gt;&#xA;and &lt;a href=&#34;https://git.sr.ht/~cedric/freshermeat/refs/v0.8.0&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;That’s all for now!&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>A new family member</title>
      <link>https://www.cedricbonhomme.org/2022/04/15/double-bass/</link>
      <pubDate>Fri, 15 Apr 2022 00:02:42 +0200</pubDate>
      <guid>https://www.cedricbonhomme.org/2022/04/15/double-bass/</guid>
      <description>&lt;p&gt;We welcome a new family member in our house. It&amp;rsquo;s a baby. Just like 7 years ago.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://www.cedricbonhomme.org/images/blog/2022/04/double_bass.jpg&#34; alt=&#34;Élisabeth&amp;rsquo;s double bass&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Even though I can play a little with it, it&amp;rsquo;s Élisabeth&amp;rsquo;s double bass and she is already&#xA;way better than me.&lt;/p&gt;&#xA;&lt;p&gt;Until recently, she could only practice with the one of the music school. I find it a&#xA;little amusing to see a 7 year old child with an instrument of this&#xA;size. A 1/8 bass… Long live!&lt;/p&gt;&#xA;&lt;p&gt;And &lt;a href=&#34;https://www.cedricbonhomme.org/2015/04/25/sudo-adduser-elisabeth/&#34;&gt;happy birthday&lt;/a&gt;&#xA;Élisabeth !&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>ActivityPub</title>
      <link>https://www.cedricbonhomme.org/2022/03/21/activitypub/</link>
      <pubDate>Mon, 21 Mar 2022 21:07:48 +0100</pubDate>
      <guid>https://www.cedricbonhomme.org/2022/03/21/activitypub/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.cedricbonhomme.org/images/blog/2022/03/activitypub.png&#34; alt=&#34;Screenshot of Pixelfed&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is what I love with&#xA;&lt;a href=&#34;https://www.w3.org/TR/activitypub/&#34;&gt;ActivityPub&lt;/a&gt; and the&#xA;&lt;a href=&#34;https://en.wikipedia.org/wiki/Fediverse&#34;&gt;Fediverse&lt;/a&gt;:&#xA;the federation.&lt;br&gt;&#xA;It&amp;rsquo;s really cool. Everything is connected and pretty fast.&lt;/p&gt;&#xA;&lt;p&gt;You can post an activity somewhere (for example a photo on PixelFed or video on PeerTube),&#xA;share it on Mastodon. You get a comment about this activity somewhere else. And&#xA;you can reply to this comment from another place.&lt;/p&gt;&#xA;&lt;p&gt;By the way, you should really consider trying&#xA;&lt;a href=&#34;https://github.com/pixelfed&#34;&gt;Pixelfed&lt;/a&gt;. It&amp;rsquo;s a really nice community and&#xA;Pixelfed is a great piece of software. No ads, no &amp;ldquo;algorithm&amp;rdquo;, no NFT. No bullshit.&lt;/p&gt;&#xA;&lt;p&gt;Same for the &lt;a href=&#34;https://fosstodon.org&#34;&gt;Fosstodon&lt;/a&gt; community. Not too small,&#xA;not too big. People are really great. Admins are awesome&#xA;(this is why I already decided to &lt;a href=&#34;https://www.cedricbonhomme.org/donations&#34;&gt;help&lt;/a&gt; them financially). Thank you guys !&#xA;You are like friends.&lt;/p&gt;&#xA;&lt;p&gt;With the Fediverse it&amp;rsquo;s easy to build a cozy community around a topic (of course&#xA;communities are connected, they are not islands).&#xA;A community is moderated by humans, and not strangers. You can discuss with them.&#xA;It&amp;rsquo;s even really easy to contact the developers, for example&#xA;&lt;a href=&#34;https://mastodon.social/@Gargron&#34;&gt;Gargron&lt;/a&gt; or &lt;a href=&#34;https://mastodon.social/@dansup&#34;&gt;dansup&lt;/a&gt;.&#xA;They are really nice. Thank you !&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Hello Hugo !</title>
      <link>https://www.cedricbonhomme.org/2022/03/19/hugo/</link>
      <pubDate>Sat, 19 Mar 2022 00:03:41 +0100</pubDate>
      <guid>https://www.cedricbonhomme.org/2022/03/19/hugo/</guid>
      <description>&lt;p&gt;You may have noticed some turbulence recently here. Especially in the RSS stream.&#xA;It will now calm down, promised. What happened ?&lt;/p&gt;&#xA;&lt;p&gt;After &lt;a href=&#34;https://www.cedricbonhomme.org/2008/10/17/hello-world/&#34;&gt;14 years&lt;/a&gt; rolling with WordPress,&#xA;I&amp;rsquo;ve finally decided to change for a static website. It is generated with&#xA;&lt;a href=&#34;https://gohugo.io&#34;&gt;Hugo&lt;/a&gt;. I was thinking about this for some time.&lt;/p&gt;&#xA;&lt;p&gt;The new address is &lt;a href=&#34;https://www.cedricbonhomme.org&#34;&gt;https://www.cedricbonhomme.org&lt;/a&gt; and the feed for your aggregator&#xA;is available at &lt;a href=&#34;https://www.cedricbonhomme.org/blog/index.xml&#34;&gt;https://www.cedricbonhomme.org/blog/index.xml&lt;/a&gt;.&lt;br&gt;&#xA;Please, update your bookmarks! Else you will miss a lot of awesome posts ;-)&lt;/p&gt;&#xA;&lt;p&gt;Articles from the database of WordPress are now stored in simple Markdown files.&#xA;All original articles are available on this brand new blog.&#xA;In addition, I took care to not break previous&#xA;URIs: &lt;a href=&#34;https://www.cedricbonhomme.org/2008/10/17/hello-world/&#34;&gt;example&lt;/a&gt;.&#xA;You know, &lt;a href=&#34;https://www.w3.org/Provider/Style/URI&#34;&gt;Cool URIs don&amp;rsquo;t change&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The migration from WordPress to Hugo was very easy&#xA;thanks to a WordPress plugin. Despite the fact that I had to manually fix a lot of&#xA;internal links between the articles and links to pictures (yes, I managed to recover&#xA;all resources: pictures and various files).&#xA;The work is not finished yet, but the current state is pretty good.&lt;/p&gt;&#xA;&lt;p&gt;I like to write new posts in a simple local text editor. The WYSIWYG editor of WordPress&#xA;was becoming a pain for me. Since the last three years, to be honest.&lt;br&gt;&#xA;It is now even easier to paste snippets of code. The rendering is pretty decent.&lt;br&gt;&#xA;The templates used by the &lt;a href=&#34;https://github.com/lxndrblz/anatole&#34;&gt;theme&lt;/a&gt; are very clean&#xA;and easy to customize for somebody like me. I already made two contributions (one fix&#xA;and one feature) for this theme. I plan to make other pull requests.&lt;br&gt;&#xA;I also discovered the &lt;a href=&#34;https://gohugo.io/content-management/shortcodes/&#34;&gt;shortcodes&lt;/a&gt;,&#xA;a really nice Hugo feature.&lt;/p&gt;&#xA;&lt;p&gt;Another reason is Git. The versioning of the content, decentralized backup and&#xA;simple deployment. I can just push new articles over SSH or use a deployment&#xA;workflow (for the time being I am using a Makefile…).&lt;/p&gt;&#xA;&lt;p&gt;The simplicity of static websites is another important point. No database, no PHP&#xA;and no PHP extensions. It&amp;rsquo;s really fast. Fast to build, for me. Fast to be displayed&#xA;for the readers, you.&lt;br&gt;&#xA;No more login screen to a dashboard. No more HTML forms.&#xA;No password, no two factor authentication, no user account.&lt;/p&gt;&#xA;&lt;p&gt;I won&amp;rsquo;t argue with the traditional &amp;ldquo;WordPress is not secure&amp;rdquo; thing. It&amp;rsquo;s bullshit. The&#xA;WordPress community is big, dynamic and reactive with security issues. But, there are&#xA;people who should not manage a website.&lt;/p&gt;&#xA;&lt;p&gt;Finally, I&amp;rsquo;m very happy with this decision. I am sure it won&amp;rsquo;t be re-migrated to&#xA;WordPress in a few years.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Python en tête</title>
      <link>https://www.cedricbonhomme.org/2022/03/16/python-en-tete/</link>
      <pubDate>Wed, 16 Mar 2022 22:31:52 +0100</pubDate>
      <guid>https://www.cedricbonhomme.org/2022/03/16/python-en-tete/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.cedricbonhomme.org/images/blog/2022/03/tiobe-2022-03.png&#34; alt=&#34;TIOBE Index - March 2022&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Je &lt;a href=&#34;https://www.cedricbonhomme.org/2011/02/10/lenvolee-de-python/&#34;&gt;le savais&lt;/a&gt;.&#xA;Depuis maintenant 11 ans. Le temps passe vite.&lt;/p&gt;&#xA;&lt;p&gt;Python est finalement en tête du classement TIOBE. Enfin !&#xA;Mais la chose la plus marquante est que c&amp;rsquo;est la première fois depuis 20 ans&#xA;que le langage C n&amp;rsquo;est plus en première position.&#xA;Actuellement, la tendance pour Python est toujours à la hausse.&lt;/p&gt;&#xA;&lt;p&gt;Je crois que j&amp;rsquo;ai commencé à utiliser Python en 2006 avec le livre&#xA;&lt;em&gt;Dive Into Python&lt;/em&gt; de Mark Pilgrim. Depuis, j&amp;rsquo;ai lu beaucoup d&amp;rsquo;autres livres et&#xA;utilisé ce langage pour faire un tas de choses: divers scripts, Web,&#xA;cryptographie, stéganographie, jeux, domotique, parcours de graphes,&#xA;visualisation, &lt;em&gt;crawlers&lt;/em&gt;, statistiques, systèmes multi-agents ;-)&#xA;Et j&amp;rsquo;en passe.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.cedricbonhomme.org/software&#34;&gt;Cette page&lt;/a&gt; regroupe quelques-uns de mes projets&#xA;notables et toujours maintenus. Je fais même du Python&#xA;&lt;a href=&#34;https://drewdevault.com/2022/03/14/It-takes-a-village.html&#34;&gt;ailleurs&lt;/a&gt;. Merci Drew !&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Zoom-Zoom Resurrection</title>
      <link>https://www.cedricbonhomme.org/2022/02/17/zoom-zoom-resurrection/</link>
      <pubDate>Thu, 17 Feb 2022 10:07:52 +0100</pubDate>
      <guid>https://www.cedricbonhomme.org/2022/02/17/zoom-zoom-resurrection/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.cedricbonhomme.org/images/blog/2022/02/20211228T114112.jpg&#34; alt=&#34;Le moteur.&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pratiquement 6 mois. Enfin ! Après presque&#xA;&lt;a href=&#34;https://www.cedricbonhomme.org/2021/09/15/zoom-zoom-bobo/&#34;&gt;6 mois au garage&lt;/a&gt; je peux&#xA;enfin sereinement annoncer qu&amp;rsquo;elle est de retour et, il semble, en pleine forme.&lt;/p&gt;&#xA;&lt;p&gt;Alors pourquoi 6 mois ? Ce serait trop long de tout expliquer dans les détails.&#xA;Le moteur a été démonté presque intégralement à 3 reprises.&#xA;L&amp;rsquo;opération initiale (changement du joint de culasse et resurfaçage de la&#xA;culasse) a été réalisée en Septembre. Pour faire simple, disons que suite à&#xA;certaines erreurs humaines de plus gros problèmes sont survenus… Le moteur&#xA;ne fonctionnait pratiquement plus.&lt;/p&gt;&#xA;&lt;p&gt;À dire vrai, je ne connais même pas clairement l&amp;rsquo;explication de tout ces soucis.&#xA;Personne en fait.&#xA;Et pour je ne sais qu&amp;rsquo;elle raison, à aucun moment j&amp;rsquo;ai douté que je pourrai à&#xA;nouveau la conduire.&lt;/p&gt;&#xA;&lt;p&gt;Je ne blâme pas du tout le garage. Pendant toute la durée j&amp;rsquo;avais une voiture de&#xA;courtoisie et donc aucune pression.&lt;/p&gt;&#xA;&lt;p&gt;Bref, en route vers les 300.000 km au compteur!&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Elliot Playing Piano</title>
      <link>https://www.cedricbonhomme.org/2022/02/17/elliot-playing-piano/</link>
      <pubDate>Thu, 17 Feb 2022 00:06:46 +0100</pubDate>
      <guid>https://www.cedricbonhomme.org/2022/02/17/elliot-playing-piano/</guid>
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; margin-bottom: 1rem; height: 0; overflow: hidden;&#34;&gt;&#xA;&lt;iframe sandbox=&#34;allow-scripts allow-popups&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34;&#xA;    src=&#34;https://peertube.co.uk/videos/embed/kPMbewmpP2zbNP4rmLzw5m?title=0&amp;warningTitle=0&amp;peertubeLink=0&#34; title=&#34;Peertube Video&#34; allowfullscreen&gt;&#xA;&lt;/iframe&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;I can&amp;rsquo;t wait making music with my children. Élisabeth recently started to learn&#xA;double bass. It&amp;rsquo;s really cool. But I guess I must be patient.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>IP-Link – Twelve years after</title>
      <link>https://www.cedricbonhomme.org/2022/01/27/ip-link-twelve-years-after/</link>
      <pubDate>Thu, 27 Jan 2022 22:28:45 +0000</pubDate>
      <guid>https://www.cedricbonhomme.org/2022/01/27/ip-link-twelve-years-after/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.cedricbonhomme.org/images/blog/2022/01/graphviz.png&#34; alt=&#34;GraphViz visualization&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;It is now about twelve years that I maintain&#xA;&lt;a href=&#34;https://git.sr.ht/~cedric/ip-link&#34;&gt;IP-Link&lt;/a&gt;. No big new features since recently&#xA;but the code is still working well, evolving and using up-to-date libraries.&#xA;Even better, I am now using &lt;a href=&#34;https://gitlab.com/mike01/pypacker&#34;&gt;Pypacker&lt;/a&gt; for&#xA;the parsing of the network captures. Its a quite a cool improvement.&#xA;The parsing is way faster than before, like &lt;strong&gt;wayyyyyy faster!&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;The picture above represents approximately five minutes of a classical network&#xA;activity of my desktop computer just after I turn it on. Some IRC, XMPP, Web&#xA;browsing, email checking, RSS fetching, etc.&lt;/p&gt;&#xA;&lt;p&gt;You can try with the simple example from the README file:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ mkdir captures data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ sudo tcpdump -p -i eth0 -s &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; -w captures/snif.pcap&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ ip-link/pcap_to_object.py -i captures/snif.pcap -o data/dic.pyobj&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ ip-link/object_to_graphviz.py -i ./data/dic.pyobj&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ dot -Tpng -o ./data/graphviz.png ./data/ip.dot&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Before, you will have to install few dependencies. This can be achieved easily&#xA;with &lt;a href=&#34;https://python-poetry.org&#34;&gt;Poetry&lt;/a&gt;. Everything is explained in the README&#xA;file (RTFM, please ;-). The whole thing is also a lot easier to install.&#xA;It was not the case at all when i started this project.&lt;/p&gt;&#xA;&lt;p&gt;If you care, more details below about my PCAP analysis.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ mkdir captures data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ip-link-862Mi5xF-py3.10&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; cedric@numero5:~/git/IP-Link$ sudo tcpdump -p -i enp5s0 -s &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; -w captures/snif.pcap&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;#91;sudo] password for cedric: &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tcpdump: listening on enp5s0, link-type EN10MB &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;Ethernet&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, snapshot length &lt;span class=&#34;m&#34;&gt;262144&lt;/span&gt; bytes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;^C126799 packets captured&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;126804&lt;/span&gt; packets received by filter&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; packets dropped by kernel&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ip-link-862Mi5xF-py3.10&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; cedric@numero5:~/git/IP-Link$ ls -lh captures/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;total 154M&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-rw-r--r-- &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; tcpdump tcpdump 154M janv. &lt;span class=&#34;m&#34;&gt;27&lt;/span&gt; 22:57 snif.pcap&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ip-link-862Mi5xF-py3.10&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; cedric@numero5:~/git/IP-Link$ &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ip-link-862Mi5xF-py3.10&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; cedric@numero5:~/git/IP-Link$ &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ip-link-862Mi5xF-py3.10&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; cedric@numero5:~/git/IP-Link$ &lt;span class=&#34;nb&#34;&gt;time&lt;/span&gt; ip-link/pcap_to_object.py -i captures/snif.pcap -o data/dic.pyobj&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;WARNING &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&amp;lt;module&amp;gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: Couldn&lt;span class=&#34;s1&#34;&gt;&amp;#39;t load netifaces, some utils won&amp;#39;&lt;/span&gt;t work&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Reading pcap file…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Serialization…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;real    0m4,074s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;user    0m3,978s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sys     0m0,097s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ip-link-862Mi5xF-py3.10&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; cedric@numero5:~/git/IP-Link$ &lt;span class=&#34;nb&#34;&gt;time&lt;/span&gt; ip-link/object_to_graphviz.py -i ./data/dic.pyobj&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Loading dictionary…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Creating GraphViz DOT file…&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Writting file.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;real    0m0,044s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;user    0m0,040s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sys     0m0,004s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ip-link-862Mi5xF-py3.10&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; cedric@numero5:~/git/IP-Link$ dot -Tpng -o ./data/graphviz.png ./data/ip.dot&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ip-link-862Mi5xF-py3.10&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; cedric@numero5:~/git/IP-Link$ xdg-open ./data/graphviz.png &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;#91;1] 20321&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;#91;1]+  Done                    xdg-open ./data/graphviz.png&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And now just for the pleasure, an other visualization.&#xA;A Chord diagram generated with IP-Link and Circos:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://www.cedricbonhomme.org/images/blog/2022/01/tBot-Circos.png&#34; alt=&#34;CIRCOS visualization&#34;&gt;&lt;/p&gt;&#xA;</description>
    </item>
  </channel>
</rss>
