Kevin Deldyckehttps://kevin.deldycke.com/2017-01-28T20:00:00+01:00Meta Package Manager V2.4.02017-01-28T20:00:00+01:002017-01-28T20:00:00+01:00Kevin Deldycketag:kevin.deldycke.com,2017-01-28:/2017/01/meta-package-manager-240/<p><a href="https://pypi.python.org/pypi/meta-package-manager/2.4.0">Meta Package Manager v2.4.0</a> has just been&nbsp;released.</p> <p>See the <a href="https://meta-package-manager.readthedocs.io/en/stable/changelog.html">changelog for more info</a>.</p><p><a href="https://pypi.python.org/pypi/meta-package-manager/2.4.0">Meta Package Manager v2.4.0</a> has just been&nbsp;released.</p> <p>See the <a href="https://meta-package-manager.readthedocs.io/en/stable/changelog.html">changelog for more info</a>.</p>Meta Package Manager V2.3.02017-01-18T23:00:00+01:002017-01-18T23:00:00+01:00Kevin Deldycketag:kevin.deldycke.com,2017-01-18:/2017/01/meta-package-manager-230/<p>Last time I <a href="https://kevin.deldycke.com/2016/07/bitbar-package-manager-v13/">mentioned </a> my <em>Package Manager Plugin</em>, it was a simple <a href="https://getbitbar.com/plugins/Dev/MetaPackageManager/meta_package_manager.7h.py">standalone Python script for BitBar </a>.</p> <p>The BitBar plugin is <a href="https://meta-package-manager.readthedocs.io/en/develop/bitbar.html">still actively maintained </a>, but all its core functionalities are now provided by an independent Python module: <a href="https://pypi.python.org/pypi/meta-package-manager">Meta Package Manager</a>. The latest version, <a href="https://github.com/kdeldycke/meta-package-manager/blob/v2.3.0/CHANGES.rst#230-2017-12-15">2.3.0, has recently been released …</a></p><p>Last time I <a href="https://kevin.deldycke.com/2016/07/bitbar-package-manager-v13/">mentioned </a> my <em>Package Manager Plugin</em>, it was a simple <a href="https://getbitbar.com/plugins/Dev/MetaPackageManager/meta_package_manager.7h.py">standalone Python script for BitBar </a>.</p> <p>The BitBar plugin is <a href="https://meta-package-manager.readthedocs.io/en/develop/bitbar.html">still actively maintained </a>, but all its core functionalities are now provided by an independent Python module: <a href="https://pypi.python.org/pypi/meta-package-manager">Meta Package Manager</a>. The latest version, <a href="https://github.com/kdeldycke/meta-package-manager/blob/v2.3.0/CHANGES.rst#230-2017-12-15">2.3.0, has recently been released </a>.</p> <p>This Python module also install a new <span class="caps">CLI</span> called <code>mpm</code>, which aims to provide a unified interface to all package managers, on all 3 major platforms (macOS, Linux and&nbsp;Windows).</p> <p>This is both ambitious and&nbsp;silly.</p> <p>Ambitious because there is <a href="https://en.wikipedia.org/wiki/List_of_software_package_management_systems">too many package managers </a> out there, all with their own idiosyncrasies. So much that I had to compile a list of <a href="https://meta-package-manager.readthedocs.io/en/develop/falsehoods.html">Falsehoods Programmers Believe About Package Managers </a>.</p> <p>And silly because, well, <code>mpm</code> actually <a href="https://github.com/kdeldycke/meta-package-manager/issues/10">tries to implement </a> an <span class="caps">XKCD</span>&nbsp;joke:</p> <p><img alt="XKCD #1654" src="https://imgs.xkcd.com/comics/universal_install_script.png"></p> <p>Of course another classic XKCDs might apply to this endeavor: <a href="https://xkcd.com/927/"><em>Standards</em></a>.</p> <p>So while I wait for someone to write a meta-meta-package-manager, the <a href="https://github.com/kdeldycke/meta-package-manager">project is open to contributions on GitHub</a>.</p>Maildir-Deduplicate 2.1.0 Released2017-01-13T13:19:00+01:002017-01-13T13:19:00+01:00Kevin Deldycketag:kevin.deldycke.com,2017-01-13:/2017/01/maildir-deduplicate-210-released/<p>Just released <a href="https://pypi.python.org/pypi/maildir-deduplicate/2.1.0"><code>maildir-deduplicate</code> v2.1.0</a>!</p> <p>Main change in this version is the ability to catch all and skip duplicate sets containing unparsable mails due to bad&nbsp;encoding.</p> <p>Read the <a href="https://maildir-deduplicate.readthedocs.io/en/develop/changelog.html">full changelog here </a>.</p><p>Just released <a href="https://pypi.python.org/pypi/maildir-deduplicate/2.1.0"><code>maildir-deduplicate</code> v2.1.0</a>!</p> <p>Main change in this version is the ability to catch all and skip duplicate sets containing unparsable mails due to bad&nbsp;encoding.</p> <p>Read the <a href="https://maildir-deduplicate.readthedocs.io/en/develop/changelog.html">full changelog here </a>.</p>Falsehoods Programmers Believe About Falsehoods Lists2016-12-27T10:23:00+01:002016-12-27T10:23:00+01:00Kevin Deldycketag:kevin.deldycke.com,2016-12-27:/2016/12/falsehoods-programmers-believe-about-falsehoods-lists/<p>Inspired by a <a href="https://news.ycombinator.com/item?id=13260149">Hacker News comment</a>, and to perfectly complement the curated list of <a href="https://github.com/kdeldycke/awesome-falsehood"><em>Awesome Falsehoods Programmers Believe in</em></a> I maintain on the side, here is a glorious list of meta&nbsp;falsehoods:</p> <h2 id="falsehoods">Falsehoods<a class="headerlink" href="#falsehoods" title="Permanent link">&para;</a></h2> <ol> <li>Falsehoods are&nbsp;true.</li> <li>Falsehoods are&nbsp;false.</li> <li>Falsehoods are&nbsp;universal.</li> <li>Falsehoods do not change with&nbsp;time.</li> <li>There&rsquo;s …</li></ol><p>Inspired by a <a href="https://news.ycombinator.com/item?id=13260149">Hacker News comment</a>, and to perfectly complement the curated list of <a href="https://github.com/kdeldycke/awesome-falsehood"><em>Awesome Falsehoods Programmers Believe in</em></a> I maintain on the side, here is a glorious list of meta&nbsp;falsehoods:</p> <h2 id="falsehoods">Falsehoods<a class="headerlink" href="#falsehoods" title="Permanent link">&para;</a></h2> <ol> <li>Falsehoods are&nbsp;true.</li> <li>Falsehoods are&nbsp;false.</li> <li>Falsehoods are&nbsp;universal.</li> <li>Falsehoods do not change with&nbsp;time.</li> <li>There&rsquo;s only one way to express a&nbsp;falsehood.</li> <li>No falsehoods overlap&nbsp;another.</li> <li>There are no falsehoods which are mutually&nbsp;exclusive.</li> <li>A falsehood correspond to a real-world&nbsp;usage.</li> </ol> <h2 id="falsehood-lists">Falsehood Lists<a class="headerlink" href="#falsehood-lists" title="Permanent link">&para;</a></h2> <ol start="9"> <li>All falsehoods can be&nbsp;listed.</li> <li>Falsehood lists are a new&nbsp;trend.</li> <li>Falsehood lists are regularly&nbsp;updated.</li> <li>There exists a falsehoods list that is entirely&nbsp;true.</li> <li>Falsehood lists covers one&nbsp;subject.</li> <li>Falsehood lists are&nbsp;terse.</li> <li>Falsehood lists are illustrated with&nbsp;counter-examples.</li> <li>Falsehood lists follow the same&nbsp;format.</li> <li>Falsehood lists are&nbsp;sorted.</li> <li>Falsehoods in lists are&nbsp;numbered.</li> </ol> <h2 id="implementation">Implementation<a class="headerlink" href="#implementation" title="Permanent link">&para;</a></h2> <ol start="19"> <li>Every falsehood should be accounted&nbsp;for.</li> <li>Every falsehood can be accounted&nbsp;for.</li> <li>Making your code compatible with a falsehood doesn&rsquo;t come with a&nbsp;price.</li> <li>Falsehoods are addressed by&nbsp;standards.</li> </ol> <h2 id="audience">Audience<a class="headerlink" href="#audience" title="Permanent link">&para;</a></h2> <ol start="23"> <li>Only widely believed falsehoods are&nbsp;listed.</li> <li>Falsehood lists are for&nbsp;programmers.</li> <li>Falsehood lists are written by&nbsp;programmers.</li> <li>Falsehood lists are written by people with expertise in the&nbsp;matter.</li> <li>Reading falsehoods lists make you a better&nbsp;programmer.</li> <li>Reading falsehoods lists make you an&nbsp;expert.</li> <li>Writing falsehoods lists make you a better&nbsp;programmer.</li> <li>Writing falsehoods lists make you an&nbsp;expert.</li> <li>Writer of falsehood lists are <a href="https://twitter.com/benjiweber/status/785422755843956736">immune to their edicted falsehoods</a>.</li> <li>Compiling falsehoods lists make you a better&nbsp;programmer.</li> <li>There are programmers who do not believe in any&nbsp;falsehood.</li> <li>Only programmers are subjected to&nbsp;falsehoods.</li> <li>Programmers can change their&nbsp;beliefs.</li> <li>Discussing falsehoods is never a waste of&nbsp;time.</li> </ol> <h2 id="meta">Meta<a class="headerlink" href="#meta" title="Permanent link">&para;</a></h2> <ol start="37"> <li>This list of falsehoods doesn&rsquo;t apply to&nbsp;itself.</li> <li>This list&nbsp;exists.</li> </ol>Maildir-Deduplicate 2.0.0 Released2016-11-13T17:32:00+01:002016-11-13T17:32:00+01:00Kevin Deldycketag:kevin.deldycke.com,2016-11-13:/2016/11/maildir-deduplicate-200-released/<p>Just released <a href="https://pypi.python.org/pypi/maildir-deduplicate/2.0.0"><code>maildir-deduplicate</code> v2.0.0</a>!</p> <p>This is a complete refactor which should improve maintainability for the future. It also addresses some shortcomings related to deletion&nbsp;strategies.</p> <p>Read the <a href="https://github.com/kdeldycke/maildir-deduplicate/blob/v2.0.0/CHANGES.rst#changelog">full changelog here </a>.</p><p>Just released <a href="https://pypi.python.org/pypi/maildir-deduplicate/2.0.0"><code>maildir-deduplicate</code> v2.0.0</a>!</p> <p>This is a complete refactor which should improve maintainability for the future. It also addresses some shortcomings related to deletion&nbsp;strategies.</p> <p>Read the <a href="https://github.com/kdeldycke/maildir-deduplicate/blob/v2.0.0/CHANGES.rst#changelog">full changelog here </a>.</p>