<?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>Fri, 20 Feb 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.cedricbonhomme.org/blog/index.xml" rel="self" type="application/rss+xml" />
    <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>
    <item>
      <title>Shi-Tomashi corner generator available in Stegano</title>
      <link>https://www.cedricbonhomme.org/2021/11/29/shi-tomashi-corner-generator-available-in-stegano/</link>
      <pubDate>Mon, 29 Nov 2021 22:26:31 +0000</pubDate>
      <guid>https://www.cedricbonhomme.org/2021/11/29/shi-tomashi-corner-generator-available-in-stegano/</guid>
      <description>&lt;p&gt;The new release of &lt;a href=&#34;https://pypi.org/project/stegano&#34;&gt;Stegano&lt;/a&gt;, v0.10.0, comes with the&#xA;&lt;a href=&#34;https://docs.opencv.org/4.x/d4/d8c/tutorial_py_shi_tomasi.html&#34;&gt;Shi-Tomashi corner generator&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;You will find more information about this release &lt;a href=&#34;https://git.sr.ht/~cedric/stegano/refs/v0.10.0&#34;&gt;here&lt;/a&gt; and a simple example&#xA;of usage &lt;a href=&#34;https://git.sr.ht/~cedric/stegano/tree/v0.10.0/item/tests/test_lsbset.py#L69-83&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;</description>
    </item>
  </channel>
</rss>
