<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Pijul - A Distributed Version Control System</title>
    <link>http://pijul.org/</link>
    <description>Recent content on Pijul - A Distributed Version Control System</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 08 Jun 2025 00:00:00 +0200</lastBuildDate>
    <atom:link href="http://pijul.org/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Elpe. Yaks big. Razors bigger</title>
      <link>http://pijul.org/posts/2025-06-08-elpe/</link>
      <pubDate>Sun, 08 Jun 2025 00:00:00 +0200</pubDate>
      <guid>http://pijul.org/posts/2025-06-08-elpe/</guid>
      <description>Elpe is a library to describe build environments with packages from existing Linux distributions, and run scripts in these environments inside containers.</description>
    </item>
    <item>
      <title>Pijul (and Sanakirja) on the mainframe</title>
      <link>http://pijul.org/posts/2024-02-13-mainframe/</link>
      <pubDate>Tue, 13 Feb 2024 15:50:00 +0100</pubDate>
      <guid>http://pijul.org/posts/2024-02-13-mainframe/</guid>
      <description>An underappreciated aspect of Pijul is its backend, Sanakirja, which is easy to confuse with a mere key-value store. Sanakirja does include a key-value store, but is primarily a transactional block allocator in a file.</description>
    </item>
    <item>
      <title>Update in Thrussh: the SSH Terrapin attack</title>
      <link>http://pijul.org/posts/2023-12-18-thrussh-cve/</link>
      <pubDate>Mon, 18 Dec 2023 16:00:00 +0100</pubDate>
      <guid>http://pijul.org/posts/2023-12-18-thrussh-cve/</guid>
      <description>A lot of things are currently happening in Pijul, but this short post is about a satellite project, Thrussh, which we use in Pijul and in the Nest.</description>
    </item>
    <item>
      <title>A new direction for Pijul&#39;s hosting service</title>
      <link>http://pijul.org/posts/2023-05-23-nest-a-new-hope/</link>
      <pubDate>Wed, 24 May 2023 09:20:27 +0200</pubDate>
      <guid>http://pijul.org/posts/2023-05-23-nest-a-new-hope/</guid>
      <description>&lt;p&gt;I gave a talk at &lt;a href=&#34;https://gotoaarhus.com/2023&#34;&gt;GOTO Aarhus&lt;/a&gt; yesterday, where I announced a change of direction for the Nest, the hosting service we&amp;rsquo;ve been running for a few years already. Its new incarnation will be open source and serverless.&lt;/p&gt;&#xA;&lt;h2 id=&#34;some-context&#34;&gt;Some context&lt;/h2&gt;&#xA;&lt;p&gt;The first version of the Nest, using old versions of the formats and algorithms, started operating in 2016. The &lt;strong&gt;goal at the time was to make it easy to test Pijul at scale&lt;/strong&gt;, in particular the &lt;code&gt;apply&lt;/code&gt; and &lt;code&gt;unrecord&lt;/code&gt; algorithms, as well as the protocol. This goal has been achieved, as we have seen less and less failures over time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Announcing Pijul 1.0 beta</title>
      <link>http://pijul.org/posts/2022-01-08-beta/</link>
      <pubDate>Tue, 18 Jan 2022 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/posts/2022-01-08-beta/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m proud of finally announcing the beta release of Pijul, after a bit more than a year of alpha.&#xA;Sorry for the long post, and Happy New Year!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Modular monorepos</title>
      <link>http://pijul.org/posts/2022-01-07-monorepos/</link>
      <pubDate>Fri, 07 Jan 2022 01:00:00 +0000</pubDate>
      <guid>http://pijul.org/posts/2022-01-07-monorepos/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://nest.pijul.com/pijul/pijul/changes/RMDMAYRXYBU5OQXV5HSF6LFD4NBMKRNH5EPIVW3K5HAV6D56IG6QC&#34;&gt;A recent change&lt;/a&gt; introduced a new structure in Pijul repositories, allowing one to merge unrelated repositories while preserving commutation across the different source repos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Towards a hybrid snapshot/patch version control system</title>
      <link>http://pijul.org/posts/2022-01-07-compressed-sanakirja/</link>
      <pubDate>Fri, 07 Jan 2022 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/posts/2022-01-07-compressed-sanakirja/</guid>
      <description>&lt;p&gt;Where I outline the design of &lt;em&gt;tags&lt;/em&gt; in Pijul, which are a first step towards a more general hybrid snapshot/patch version control system. The Sanakirja tricks presented here can also be applied outside the context of Pijul, to create efficient compressed databases.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Changes on binary files</title>
      <link>http://pijul.org/posts/2021-07-11-binary-diffs/</link>
      <pubDate>Sun, 11 Jul 2021 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/posts/2021-07-11-binary-diffs/</guid>
      <description>&lt;p&gt;We just released Pijul 1.0.0-alpha.52, which includes a pretty cool change: short patches on binary files.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Two changes to changes</title>
      <link>http://pijul.org/posts/2021-06-28-two-changes/</link>
      <pubDate>Mon, 28 Jun 2021 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/posts/2021-06-28-two-changes/</guid>
      <description>&lt;p&gt;In this post, I announce the final changes to the repository and changes formats before we declare Pijul &amp;ldquo;1.0 beta&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On fires</title>
      <link>http://pijul.org/posts/2021-06-03-on-fires/</link>
      <pubDate>Thu, 03 Jun 2021 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/posts/2021-06-03-on-fires/</guid>
      <description>&lt;p&gt;Almost three months ago, a fire started in the datacenter that hosted this website, as well as &lt;a href=&#34;https://nest.pijul.com&#34;&gt;nest.pijul.com&lt;/a&gt;.&#xA;In this post, I try to reflect on what that meant for us, and the consequences it had.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rethinking Sanakirja</title>
      <link>http://pijul.org/posts/2021-02-06-rethinking-sanakirja/</link>
      <pubDate>Fri, 05 Feb 2021 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/posts/2021-02-06-rethinking-sanakirja/</guid>
      <description>&lt;p&gt;Sanakirja is a key-value store based on B trees, written in Rust. In this post, I reflect on some design and programming methodology mistakes I&amp;rsquo;ve made. Benchmarks show that the latest version beats LMDB, the fastest C equivalent, by 20%-50% on a use case similar to my most common load (storing graphs in Pijul).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Implementing cross-process Sanakirja locks</title>
      <link>http://pijul.org/posts/2021-01-15-sanakirja-locks/</link>
      <pubDate>Fri, 15 Jan 2021 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/posts/2021-01-15-sanakirja-locks/</guid>
      <description>&lt;p&gt;I just finished implementing a non-trivial bit of Pijul: cross-process locks for Sanakirja databases.&#xA;In this post, I explain how it works.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to survive?</title>
      <link>http://pijul.org/posts/2021-01-05-how-to-survive/</link>
      <pubDate>Tue, 05 Jan 2021 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/posts/2021-01-05-how-to-survive/</guid>
      <description>&lt;p&gt;Since we released the alpha version of Pijul 1.0 two months ago, a lot of things have happened.&#xA;In this post, I want to share some of them, and give a roadmap for the next few weeks or months.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Commutation and scalability</title>
      <link>http://pijul.org/posts/2020-12-19-partials/</link>
      <pubDate>Sun, 20 Dec 2020 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/posts/2020-12-19-partials/</guid>
      <description>&lt;p&gt;I just finished the implementation of an important feature of Pijul: clones, pushes and pulls on partial repositories. In this post, I explain why this matters.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Announcing Minus, a cross-platform pager</title>
      <link>http://pijul.org/posts/2020-12-09-minus/</link>
      <pubDate>Wed, 09 Dec 2020 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/posts/2020-12-09-minus/</guid>
      <description>&lt;p&gt;This is a guest post by Arijit Dey, introducing a cross-platform &lt;em&gt;paging crate&lt;/em&gt; he wrote, which will allow Pijul to work equally on all platforms.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Towards 1.0</title>
      <link>http://pijul.org/posts/2020-11-07-towards-1.0/</link>
      <pubDate>Sat, 07 Nov 2020 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/posts/2020-11-07-towards-1.0/</guid>
      <description>&lt;p&gt;After fixing the performance and scalability problems, we&amp;rsquo;re on our way to getting a stable Pijul. In this post, I explain what I&amp;rsquo;ve been up to in the recent months.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pijul 0.12</title>
      <link>http://pijul.org/posts/2019-04-23-pijul-0.12/</link>
      <pubDate>Tue, 23 Apr 2019 10:52:09 +0100</pubDate>
      <guid>http://pijul.org/posts/2019-04-23-pijul-0.12/</guid>
      <description>&lt;p&gt;We released Pijul 0.12 yesterday. This is a really exciting time for&#xA;the project, as we have reasons to believe that all the algorithms are&#xA;now in a pretty good shape.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sanakirja gets its full concurrency model</title>
      <link>http://pijul.org/posts/2019-03-20-sanakirja-0.10/</link>
      <pubDate>Wed, 20 Mar 2019 15:20:00 +0000</pubDate>
      <guid>http://pijul.org/posts/2019-03-20-sanakirja-0.10/</guid>
      <description>&lt;p&gt;I just fixed a few remaining bugs in Sanakirja, the database backend&#xA;behind Pijul, and took the opportunity to update its concurrency&#xA;model.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pijul 0.11</title>
      <link>http://pijul.org/posts/2018-11-20-pijul-0.11/</link>
      <pubDate>Tue, 20 Nov 2018 22:26:49 +0000</pubDate>
      <guid>http://pijul.org/posts/2018-11-20-pijul-0.11/</guid>
      <description>&lt;p&gt;I&amp;rsquo;d like to announce a new release of Pijul, version 0.11. This release fixes a large number of bugs, follows evolutions in the Rust ecosystem (Tokio), integrates better with existing software (SSH proxys and config files), and introduces an important feature of Pijul: /partial clones/.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pijul 0.10</title>
      <link>http://pijul.org/posts/2018-04-21-pijul-0.10/</link>
      <pubDate>Sat, 21 Apr 2018 15:13:57 +0200</pubDate>
      <guid>http://pijul.org/posts/2018-04-21-pijul-0.10/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m pleased to announce the new release of Pijul, version 0.10. This release has been a long time coming, but brings in an important number of new features and stability enhancements.&lt;/p&gt;</description>
    </item>
    <item>
      <title>buildRustCrate just got integrated into nixpkgs</title>
      <link>http://pijul.org/2017/12/12/buildRustCrate/</link>
      <pubDate>Tue, 12 Dec 2017 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2017/12/12/buildRustCrate/</guid>
      <description>&lt;p&gt;&lt;code&gt;buildRustCrate&lt;/code&gt; is a tool I wrote in the &lt;a href=&#34;https://nixos.org&#34;&gt;Nix&lt;/a&gt;&#xA;programming language to share build products across crates and across&#xA;versions of a single crate when compiling Rust code. The initial&#xA;motivation was to speed up deployment times when working on large&#xA;projects with lots of dependencies, such as &lt;a href=&#34;https://nest.pijul.com&#34;&gt;the&#xA;Pijul Nest&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New release of Thrussh, including support for agents</title>
      <link>http://pijul.org/2017/12/06/thrussh-0.17/</link>
      <pubDate>Wed, 06 Dec 2017 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2017/12/06/thrussh-0.17/</guid>
      <description>&lt;p&gt;I&amp;rsquo;d like to announce a new version of Thrussh, which will hopefully&#xA;solve a number of problems people have been having with SSH support in&#xA;Pijul.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Downloads</title>
      <link>http://pijul.org/downloads/</link>
      <pubDate>Tue, 19 Sep 2017 21:57:58 +0200</pubDate>
      <guid>http://pijul.org/downloads/</guid>
      <description>&lt;h2 id=&#34;from-source&#34;&gt;From source&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ cargo install pijul --version &amp;#34;~1.0.0-beta&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;on-windows&#34;&gt;On Windows&lt;/h2&gt;&#xA;&lt;p&gt;See &lt;a href=&#34;https://github.com/boringcactus/pijul-windows-builds/releases/latest&#34;&gt;Windows binaries&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;using-pijul-itself&#34;&gt;Using Pijul itself&lt;/h2&gt;&#xA;&lt;p&gt;If you are lucky enough to already have one version of Pijul, here is how to check the sources out:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ pijul clone https://nest.pijul.com/pijul/pijul&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Or, if you have an account on the Nest, via SSH:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ pijul clone me@nest.pijul.com:pijul/pijul&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;other&#34;&gt;Other&lt;/h2&gt;&#xA;&lt;p&gt;See &lt;a href=&#34;http://pijul.org/manual/installing.html&#34;&gt;the manual&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;reporting-bugs&#34;&gt;Reporting bugs&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://nest.pijul.com/pijul/pijul/discussions&#34;&gt;https://nest.pijul.com/pijul/pijul/discussions&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>FAQ</title>
      <link>http://pijul.org/faq/</link>
      <pubDate>Tue, 19 Sep 2017 21:56:45 +0200</pubDate>
      <guid>http://pijul.org/faq/</guid>
      <description>&lt;h2 id=&#34;what-is-a-version-control-system&#34;&gt;What is a version control system?&lt;/h2&gt;&#xA;&lt;p&gt;A version control system is a piece of software that allows different authors to work collaboratively and asynchronously on a file, keeps track of their changes and alerts them when their edits are conflicting.&lt;/p&gt;&#xA;&lt;p&gt;It can also be used by single authors to review and revert their changes.&lt;/p&gt;&#xA;&lt;p&gt;It is distinct from a parallel editor, in which all authors edit the same file concurrently. In a parallel editor, the authors are forced to share all their edits with others, often restricting their creativity and causing data loss.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Community</title>
      <link>http://pijul.org/community/</link>
      <pubDate>Tue, 19 Sep 2017 21:47:36 +0200</pubDate>
      <guid>http://pijul.org/community/</guid>
      <description>&lt;p&gt;The vision for our community borrows a lot from the &lt;a href=&#34;https://www.rust-lang.org/community.html&#34;&gt;Rust community&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;getting-started&#34;&gt;Getting Started&lt;/h2&gt;&#xA;&lt;p&gt;We currently try to maintain two communication channels:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pijul.zulipchat.com&#34;&gt;pijul.zulipchat.com&lt;/a&gt;, a Zulip channel to ask any question about Pijul.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://discourse.pijul.org&#34;&gt;discourse.pijul.org&lt;/a&gt;, a Discourse forum for lengthier discussions.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;code-of-conduct&#34;&gt;Code of Conduct&lt;/h2&gt;&#xA;&lt;p&gt;This code of conduct is largely stolen from &lt;a href=&#34;https://www.rust-lang.org/en-US/conduct.html&#34;&gt;the Rust Code of Conduct&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New release - Pijul 0.8</title>
      <link>http://pijul.org/2017/09/14/pijul-0.8/</link>
      <pubDate>Thu, 14 Sep 2017 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2017/09/14/pijul-0.8/</guid>
      <description>&lt;p&gt;We&amp;rsquo;re proud to announce a new release of Pijul: version 0.8.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Updates on nest.pijul.com</title>
      <link>http://pijul.org/2017/07/02/web-stack/</link>
      <pubDate>Sun, 02 Jul 2017 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2017/07/02/web-stack/</guid>
      <description>&lt;p&gt;As &lt;a href=&#34;//nest.pijul.com&#34;&gt;nest.pijul.com&lt;/a&gt; is slowly stabilising, I&amp;rsquo;d like to blog about a few lessons learnt during its development so far.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pijul 0.4, Improvements and breaking changes</title>
      <link>http://pijul.org/2017/04/02/pijul-0.4/</link>
      <pubDate>Sun, 02 Apr 2017 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2017/04/02/pijul-0.4/</guid>
      <description>&lt;p&gt;Today, we released a new version of Pijul. &lt;strong&gt;Still alpha&lt;/strong&gt;, but lots of updates. Also, still GPL2+ (as in version 0.3, but unlike before).&lt;/p&gt;</description>
    </item>
    <item>
      <title>News of Sanakirja</title>
      <link>http://pijul.org/2017/03/16/sanakirja/</link>
      <pubDate>Thu, 16 Mar 2017 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2017/03/16/sanakirja/</guid>
      <description>&lt;p&gt;We&amp;rsquo;ll release a usable version of Pijul later today. Pijul itself is in an alpha stage, but is based on a number of other things we&amp;rsquo;ve needed to write, among which a key-value store known as Sanakirja.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pijul 0.3, our first bootstrapped release! Featuring nest.pijul.com</title>
      <link>http://pijul.org/2017/03/16/pijul-0.3/</link>
      <pubDate>Thu, 16 Mar 2017 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2017/03/16/pijul-0.3/</guid>
      <description>&lt;p&gt;The pijul team is proud and happy to announce the first bootstrapped release of &lt;a href=&#34;https://pijul.org&#34;&gt;pijul&lt;/a&gt;, and of &lt;a href=&#34;https://nest.pijul.com&#34;&gt;the Nest&lt;/a&gt;, a hosting service for pijul repositories.&lt;/p&gt;</description>
    </item>
    <item>
      <title>First usable Pijul</title>
      <link>http://pijul.org/2017/01/10/first-working-pijul/</link>
      <pubDate>Tue, 10 Jan 2017 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2017/01/10/first-working-pijul/</guid>
      <description>&lt;p&gt;After several months of silence, I&amp;rsquo;m pleased to announce that we are starting to test the first usable version of Pijul.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The design of Thrussh</title>
      <link>http://pijul.org/2016/07/20/thrussh/</link>
      <pubDate>Wed, 20 Jul 2016 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2016/07/20/thrussh/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve recently written an SSH library called &lt;a href=&#34;http://pijul.org/thrussh&#34;&gt;Thrussh&lt;/a&gt;, and I&amp;rsquo;ve also started to use it for actual tasks like replacing the SCP client in Pijul.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sprint started!</title>
      <link>http://pijul.org/2016/05/06/sprint-report/</link>
      <pubDate>Fri, 06 May 2016 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2016/05/06/sprint-report/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m blogging live from the first Pijul sprint, at the Aalto Design Factory in Helsinki.&#xA;Feel free to stop by and say hello if you&amp;rsquo;re around!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reorganizing libpijul</title>
      <link>http://pijul.org/2016/04/09/reorganization/</link>
      <pubDate>Sat, 09 Apr 2016 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2016/04/09/reorganization/</guid>
      <description>&lt;p&gt;Now that Sanakirja is in a usable state, the main operation before we can start to use Pijul for other purposes than tests is to plug Sanakirja in. This post describes our strategy for doing this, and the difficulties we&amp;rsquo;ve had.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sprint&#43;Meetup</title>
      <link>http://pijul.org/2016/04/02/sprint/</link>
      <pubDate>Sat, 02 Apr 2016 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2016/04/02/sprint/</guid>
      <description>&lt;p&gt;We&amp;rsquo;re happy to announce the first joint sprint with the darcs team, which will take place on May 6th, 7th and 8th in Helsinki, Finland. If you&amp;rsquo;re interested in using and/or learning Rust and Haskell, come hack with us!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sanakirja 0.2</title>
      <link>http://pijul.org/2016/03/24/sanakirja-0.2/</link>
      <pubDate>Thu, 24 Mar 2016 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2016/03/24/sanakirja-0.2/</guid>
      <description>&lt;p&gt;I just finished &lt;a href=&#34;http://pijul.org/sanakirja&#34;&gt;Sanakirja 0.2&lt;/a&gt;, available from our darcs repository, and soon on &lt;a href=&#34;http://crates.io&#34;&gt;crates.io&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Functional semantics in Sanakirja</title>
      <link>http://pijul.org/2016/03/03/functional-database/</link>
      <pubDate>Thu, 03 Mar 2016 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2016/03/03/functional-database/</guid>
      <description>&lt;p&gt;I announced Sanakirja, our new database backend, on reddit and twitter, but so far I had not had the time to blog about it. This post explains some of the ideas behind this new crate.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thoughts on branches</title>
      <link>http://pijul.org/2016/02/15/branches/</link>
      <pubDate>Mon, 15 Feb 2016 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2016/02/15/branches/</guid>
      <description>&lt;p&gt;Since our release of Pijul 0.2, I&amp;rsquo;ve been working mostly on the biggest feature of Pijul 0.3: branches. In this post, I try to explain the current plan.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pijul 0.2</title>
      <link>http://pijul.org/2016/02/02/pijul-0.2/</link>
      <pubDate>Tue, 02 Feb 2016 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2016/02/02/pijul-0.2/</guid>
      <description>&lt;p&gt;We&amp;rsquo;re proud to announce the second public release of Pijul, a new version control system aiming to be easy to learn and use, distributed, and fast.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XKCD and Git</title>
      <link>http://pijul.org/2015/10/31/xkcd/</link>
      <pubDate>Sat, 31 Oct 2015 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/2015/10/31/xkcd/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;http://imgs.xkcd.com/comics/git.png&#34; alt=&#34;XKCD&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Seems like we&amp;rsquo;re not the only ones!&#xA;&lt;a href=&#34;http://xkcd.com/1597/&#34;&gt;Here&lt;/a&gt; is the original picture.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Compressed Sanakirja databases</title>
      <link>http://pijul.org/posts/sanakirja-zstd/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/posts/sanakirja-zstd/</guid>
      <description></description>
    </item>
    <item>
      <title>Contributor license agreement</title>
      <link>http://pijul.org/cla/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/cla/</guid>
      <description>&lt;h3 id=&#34;practical-instructions&#34;&gt;Practical instructions&lt;/h3&gt;&#xA;&lt;p&gt;If you contribute to Libpijul, we are asking you to allow us to reuse your work, including under a different license than the current GPL-2.0-or-later.&lt;/p&gt;&#xA;&lt;p&gt;If you agree and have the right to do so, please add &lt;a href=&#34;https://nest.pijul.com/pijul/pijul/changes/IUH7IMWES3KQTHVWA5UNHAO7QWVCC5PQJ6VLK3RC3T4F2MS74P3AC&#34;&gt;&lt;code&gt;IUH7IMWES3KQTHVWA5UNHAO7QWVCC5PQJ6VLK3RC3T4F2MS74P3AC&lt;/code&gt;&lt;/a&gt; (the patch introducing the CLA) to the dependencies of your patches. Three ways to do it:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Add the following line to &lt;code&gt;.pijul/config&lt;/code&gt;, before recording:&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-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;extra_dependencies&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;IUH7IMWES3KQTHVWA5UNHAO7QWVCC5PQJ6VLK3RC3T4F2MS74P3AC&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Add the following line in the &lt;code&gt;Dependencies&lt;/code&gt; section of your changes:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Documentation</title>
      <link>http://pijul.org/manual/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/manual/</guid>
      <description>&lt;p&gt;Coming soon. If you are interested in contributing, you can come on &lt;a href=&#34;https://discourse.pijul.org&#34;&gt;our discourse&lt;/a&gt; and ask anything, and contribute to &lt;a href=&#34;https://nest.pijul.com/pijul/manual&#34;&gt;our repository&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Model</title>
      <link>http://pijul.org/model/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/model/</guid>
      <description>&lt;p&gt;On this page, we hope to clarify the main ideas behind Pijul.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-care-about-patch-theory&#34;&gt;Why care about patch theory?&lt;/h2&gt;&#xA;&lt;p&gt;Good question. The answer is, because having a &lt;strong&gt;simple mental model&lt;/strong&gt; of a tool allows to predict what it does. Pijul uses only &lt;em&gt;patches&lt;/em&gt;, which are atomic components of team work. In Pijul, a branch &lt;em&gt;is exactly&lt;/em&gt; a set of patches.&lt;/p&gt;&#xA;&lt;p&gt;Many users of other distributed version control systems expect their favorite tool to work in a way that is somewhat different from how these systems really work.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thrussh</title>
      <link>http://pijul.org/thrussh/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>http://pijul.org/thrussh/</guid>
      <description>&lt;h2 id=&#34;portable-ssh-client-and-server-library&#34;&gt;Portable SSH client and server library&lt;/h2&gt;&#xA;&lt;p&gt;Thrussh is the first Rust SSH library. The only non-Rust part is the crypto backend (handled by &lt;a href=&#34;*ring*&#34;&gt;https://briansmith.org/rustdoc/ring/&lt;/a&gt;). This means that this library will never be subject to buffer overruns, double frees, etc.&#xA;It is designed to work on any platform, and to work with asynchronous IO.&lt;/p&gt;&#xA;&lt;p&gt;This also allows it to be as fast as others, since less time is spent on checking memory allocations (compilers do that better than humans), and more time is spent on performance. Also, contrarily to others, Thrussh uses no Unix-specific features, which means it&amp;rsquo;s Windows-compatible.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
