Pushed by YOCaml 2
This commit is contained in:
parent
84a3091898
commit
b0defe67bd
8 changed files with 553 additions and 4 deletions
410
articles/finances.html
Normal file
410
articles/finances.html
Normal file
|
@ -0,0 +1,410 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>
|
||||
Robur's blogHow has robur financially been doing since 2018?
|
||||
</title>
|
||||
<meta name="description" content="How we organise as a collective, and why we're doing that.">
|
||||
<link type="text/css" rel="stylesheet" href="https://blog.robur.coop/css/hl.css">
|
||||
<link type="text/css" rel="stylesheet" href="https://blog.robur.coop/css/style.css">
|
||||
<script src="https://blog.robur.coop/js/hl.js"></script>
|
||||
<link rel="alternate" type="application/rss+xml" href="https://blog.robur.coop/feed.xml" title="blog.robur.coop">
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1>blog.robur.coop</h1>
|
||||
<blockquote>
|
||||
The <strong>Robur</strong> cooperative blog.
|
||||
</blockquote>
|
||||
</header>
|
||||
<main><a href="https://blog.robur.coop/index.html">Back to index</a>
|
||||
|
||||
<article>
|
||||
<h1>How has robur financially been doing since 2018?</h1>
|
||||
<ul class="tags-list"><li><a href="https://blog.robur.coop/tags.html#tag-finances">finances</a></li><li><a href="https://blog.robur.coop/tags.html#tag-cooperative">cooperative</a></li></ul><p>Since the beginning, robur has been working on MirageOS unikernels and getting
|
||||
them deployed. Due to our experience in hierarchical companies, we wanted to
|
||||
create something different - a workplace without bosses and management. Instead,
|
||||
we are a collective where everybody has a say on what we do, and who gets how
|
||||
much money at the end of the month. This means nobody has to write report and
|
||||
meet any goals - there's no KPI involved. We strive to be a bunch of people
|
||||
working together nicely and projects that we own and want to bring forward. If
|
||||
we discover lack of funding, we reach out to (potential) customers to fill our
|
||||
cash register. Or reach out to people to donate money.</p>
|
||||
<p>Since our mission is fulfilling and already complex - organising ourselves in a
|
||||
hierarchy-free environment, including the payment, and work on software in a
|
||||
niche market - we decided from the early days that bookeeping and invoicing
|
||||
should not be part of our collective. Especially since we want to be free in
|
||||
what kind of funding we accept - donations, commercial contracts, public
|
||||
funding. In the books, robur is part of the non-profit company
|
||||
<a href="https://aenderwerk.de">Änderwerk</a> in Germany - and friends of ours run that
|
||||
company. They get a cut on each income we generate.</p>
|
||||
<p>To be inclusive and enable everyone to participate in decisions, we are 100%
|
||||
transparent in our books - every collective member has access to the financial
|
||||
spreadsheets, contracts, etc. We use a needs-based payment model, so we talk
|
||||
about the needs everyone has on a regular basis and adjust the salary, everyone
|
||||
agreeing to all the numbers.</p>
|
||||
<h2 id="2018"><a class="anchor" aria-hidden="true" href="#2018"></a>2018</h2>
|
||||
<p>We started operations in 2018. In late 2017, we got donations (in the form of
|
||||
bitcoins) by friends who were convinced of our mission. This was 54,194.91 €.
|
||||
So, in 2018 we started with that money, and tried to find a mission, and
|
||||
generate income to sustain our salaries.</p>
|
||||
<p>Also, already in 2017, we applied for funding from
|
||||
<a href="https://prototypefund.de">Prototypefund</a> on a <a href="https://prototypefund.de/project/robur-io/">CalDAV server</a>,
|
||||
and we received the grant in early 2018. This was another 48,500 €, paid to
|
||||
individuals (due to reasons, Prototype fund can't cash out to the non-profit -
|
||||
this put us into some struggle, since we needed some double bookkeeping and
|
||||
individuals had to dig into health care etc.).</p>
|
||||
<p>We also did in the second half of 2018 a security audit for
|
||||
<a href="https://leastauthority.com/blog/audits/five-security-audits-for-the-tezos-foundation/">Least Authority</a>
|
||||
(invoicing 19,600 €).</p>
|
||||
<p>And later in 2018 we started on what is now called NetHSM with an initial
|
||||
design workshop (5,000 €).</p>
|
||||
<p>And lastly, we started to work on a grant to implement <a href="https://datatracker.ietf.org/doc/html/rfc8446">TLS 1.3</a>,
|
||||
funded by Jane Street (via OCaml Labs Consulting). In 2018, we received 12,741.71 €</p>
|
||||
<p>We applied at NLNet for improving the QubesOS firewall developed in MirageOS
|
||||
(without success), tried to get the IT security prize in Germany (without
|
||||
success), and to DIAL OSC (without success).</p>
|
||||
<div role="region"><table>
|
||||
<tr>
|
||||
<th>Project</th>
|
||||
<th class="right">Amount</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Donation</td>
|
||||
<td class="right">54,194.91</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Prototypefund</td>
|
||||
<td class="right">48,500.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Least Authority</td>
|
||||
<td class="right">19,600.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>TLS 1.3</td>
|
||||
<td class="right">12,741.71</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Nitrokey</td>
|
||||
<td class="right">5,000.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Total</strong></td>
|
||||
<td class="right"><strong>140,036.62</strong></td>
|
||||
</tr>
|
||||
</table></div><h2 id="2019"><a class="anchor" aria-hidden="true" href="#2019"></a>2019</h2>
|
||||
<p>We were keen to finish the CalDAV implementation (and start a CardDAV
|
||||
implementation), and received some financial support from Tarides for it
|
||||
(15,000 €).</p>
|
||||
<p>The TLS 1.3 work continued, we got in total 68,887.53 €.</p>
|
||||
<p>We also applied to (and got funding from) Prototypefund, once with an <a href="https://prototypefund.de/en/project/robust-openvpn-client-with-low-use-of-resources/">OpenVPN-compatible
|
||||
MirageOS unikernel</a>,
|
||||
and once with <a href="https://prototypefund.de/project/portable-firewall-fuer-qubesos/">improving the QubesOS firewall developed as MirageOS unikernel</a>.
|
||||
This means again twice 48,500 €.</p>
|
||||
<p>We also started the implementation work of NetHSM - which still included a lot
|
||||
of design work - in total the contract was over 82,500 €. In 2019, we invoiced
|
||||
Nitrokey in 2019 in total 40,500 €.</p>
|
||||
<p>We also received a total of 516.48 € as donations from source unknown to us.</p>
|
||||
<p>We also applied to NLnet with <a href="https://nlnet.nl/project/Robur/">DNSvizor</a>, and
|
||||
got a grant, but due to buerocratic reasons they couldn't transfer the money to
|
||||
our non-profit (which was involved with NLnet in some EU grants), and we didn't
|
||||
get any money in the end.</p>
|
||||
<div role="region"><table>
|
||||
<tr>
|
||||
<th>Project</th>
|
||||
<th class="right">Amount</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>CardDAV</td>
|
||||
<td class="right">15,000.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>TLS 1.3</td>
|
||||
<td class="right">68,887.53</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>OpenVPN</td>
|
||||
<td class="right">48,500.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>QubesOS</td>
|
||||
<td class="right">48,500.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Donation</td>
|
||||
<td class="right">516.48</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Nitrokey</td>
|
||||
<td class="right">40,500.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Total</strong></td>
|
||||
<td class="right"><strong>221,904.01</strong></td>
|
||||
</tr>
|
||||
</table></div><h2 id="2020"><a class="anchor" aria-hidden="true" href="#2020"></a>2020</h2>
|
||||
<p>In 2020, we agreed with OCaml Labs Consulting to work on maintenance of OCaml
|
||||
packages in the MirageOS ecosystem. This was a contract where at the end of the
|
||||
month, we reported on which PRs and issues we spent how much time. For us, this
|
||||
was great to have the freedom to work on which OCaml packages we were keen to
|
||||
get up to speed. In 2020, we received 45,000 € for this maintenance.</p>
|
||||
<p>We finished the TLS 1.3 work (18,659.01 €)</p>
|
||||
<p>We continued to work on the NetHSM project, and invoiced 55,500 €.</p>
|
||||
<p>We received a total of 255 € in donations from sources unknown to us.</p>
|
||||
<p>We applied at reset.tech again with DNSvizor, unfortunately without success.</p>
|
||||
<p>We also applied at <a href="https://pointer.ngi.eu">NGI pointer</a> to work on reproducible
|
||||
builds for MirageOS, and a web frontend. Here we got the grant of 200,000 €,
|
||||
which we worked on in 2021 and 2022.</p>
|
||||
<div role="region"><table>
|
||||
<tr>
|
||||
<th>Project</th>
|
||||
<th class="right">Amount</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>OCLC</td>
|
||||
<td class="right">45,000.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>TLS 1.3</td>
|
||||
<td class="right">18,659.01</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Nitrokey</td>
|
||||
<td class="right">55,500.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Donations</td>
|
||||
<td class="right">255.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Total</strong></td>
|
||||
<td class="right"><strong>119,414.01</strong></td>
|
||||
</tr>
|
||||
</table></div><h2 id="2021"><a class="anchor" aria-hidden="true" href="#2021"></a>2021</h2>
|
||||
<p>As outlined, we worked on reproducible builds of unikernels - rethinking the way
|
||||
how a unikernel is configured: no more compiled-in secrets, but instead using
|
||||
boot parameters. We setup the infrastructure for doing daily reproducible
|
||||
builds, serving system packages via a package repository, and a
|
||||
<a href="https://builds.robur.coop">web frontend</a> hosting the reproducible builds.
|
||||
We received in total 120,000 € from NGI Pointer in 2021.</p>
|
||||
<p>Our work on NetHSM continued, including the introduction of elliptic curves
|
||||
in mirage-crypto (using <a href="https://github.com/mit-plv/fiat-crypto/">fiat</a>). The
|
||||
invoices to Nitrokey summed up to 26,000 € in 2021.</p>
|
||||
<p>We developed in a short timeframe two packages, <a href="https://github.com/robur-coop/u2f">u2f</a>
|
||||
and later <a href="https://git.robur.coop/robur/webauthn">webauthn</a> for Skolem Labs based
|
||||
on <a href="https://en.wikipedia.org/wiki/Gift_economy">gift economy</a>. This resulted in
|
||||
donations of 18,976 €.</p>
|
||||
<p>We agreed with <a href="https://ocaml-sf.org/">OCSF</a> to work on
|
||||
<a href="https://github.com/hannesm/conex">conex</a>, which we have not delivered yet
|
||||
(lots of other things had to be cleared first: we did a security review of opam
|
||||
(leading to <a href="https://opam.ocaml.org/blog/opam-2-1-5-local-cache/">a security advisory</a>),
|
||||
we got rid of <a href="https://discuss.ocaml.org/t/ann-opam-repository-policy-change-checksums-no-md5-and-no-extra-files"><code>extra-files</code></a>
|
||||
in the opam-repository, and we <a href="https://discuss.ocaml.org/t/ann-opam-repository-policy-change-checksums-no-md5-and-no-extra-files">removed the weak hash md5</a>
|
||||
from the opam-repository.</p>
|
||||
<div role="region"><table>
|
||||
<tr>
|
||||
<th>Customer</th>
|
||||
<th class="right">Amount</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>NGI Pointer</td>
|
||||
<td class="right">120,000.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Nitrokey</td>
|
||||
<td class="right">26,000.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Skolem</td>
|
||||
<td class="right">18,976.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Total</strong></td>
|
||||
<td class="right"><strong>164,976.00</strong></td>
|
||||
</tr>
|
||||
</table></div><h2 id="2022"><a class="anchor" aria-hidden="true" href="#2022"></a>2022</h2>
|
||||
<p>We finished our NGI pointer project, and received another 80,000 €.</p>
|
||||
<p>We also did some minor maintenance for Nitrokey, and invoiced 4,500 €.</p>
|
||||
<p>For Tarides, we started another maintaining MirageOS packages (and continuing
|
||||
<a href="https://github.com/robur-coop/utcp">our TCP/IP stack</a>), and invoiced in
|
||||
total 22,500 €.</p>
|
||||
<p>A grant application for <a href="https://github.com/dinosaure/bob/">bob</a> was rejected,
|
||||
but a grant application for <a href="https://github.com/robur-coop/miragevpn">MirageVPN</a>
|
||||
got accepted. Both at NLnet within the EU NGI project.</p>
|
||||
<div role="region"><table>
|
||||
<tr>
|
||||
<th>Project</th>
|
||||
<th class="right">Amount</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>NGI Pointer</td>
|
||||
<td class="right">80,000.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Nitrokey</td>
|
||||
<td class="right">4,500.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Tarides</td>
|
||||
<td class="right">22,500.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Total</strong></td>
|
||||
<td class="right"><strong>107,000.00</strong></td>
|
||||
</tr>
|
||||
</table></div><h2 id="2023"><a class="anchor" aria-hidden="true" href="#2023"></a>2023</h2>
|
||||
<p>We finished the NetHSM project, and had a final invoice over 2,500 €.</p>
|
||||
<p>We started a collaboration for <a href="https://semgrep.dev">semgrep</a>, porting some of
|
||||
their Python code to OCaml. We received in total 37,500 €.</p>
|
||||
<p>We continued the MirageOS opam package maintenance and invoiced in total
|
||||
89,250 € to Tarides.</p>
|
||||
<p>A grant application on <a href="https://nlnet.nl/project/MirageVPN/">MirageVPN</a> got
|
||||
accepted (NGI Assure), and we received in total 12,000 € for our work on it.
|
||||
This is a continuation of our 2019 work funded by Prototypefund.</p>
|
||||
<p>We also wrote various funding applications, including one for
|
||||
<a href="https://github.com/robur-coop/dnsvizor">DNSvizor</a> that was
|
||||
<a href="https://nlnet.nl/project/DNSvizor/">accepted</a> (NGI0 Entrust).</p>
|
||||
<div role="region"><table>
|
||||
<tr>
|
||||
<th>Customer</th>
|
||||
<th class="right">Amount</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Nitrokey</td>
|
||||
<td class="right">2,500.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>semgrep</td>
|
||||
<td class="right">37,500.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Tarides</td>
|
||||
<td class="right">89,250.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>MirageVPN</td>
|
||||
<td class="right">12,000.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Total</strong></td>
|
||||
<td class="right"><strong>141,250.00</strong></td>
|
||||
</tr>
|
||||
</table></div><h2 id="2024"><a class="anchor" aria-hidden="true" href="#2024"></a>2024</h2>
|
||||
<p>We're still in the middle of it, but so far we continued the Tarides maintenance
|
||||
contract (54,937.50 €).</p>
|
||||
<p>We also finished the MirageVPN work, and received another 45,000 €.</p>
|
||||
<p>We had a contract with Semgrep again on porting Python code to OCaml and received 18,559.40 €.</p>
|
||||
<p>We again worked on several successful funding applications, one on
|
||||
<a href="https://nlnet.nl/project/PTT/">PTT</a> (NGI Zero Core), a continuation of the
|
||||
<a href="https://www.ngi.eu/funded_solution/ngi-dapsiproject-24/">NGI DAPSI</a> project -
|
||||
now realizing mailing lists with our SMTP stack.</p>
|
||||
<p>We also got <a href="https://nlnet.nl/project/MTE/">MTE</a> (NGI Taler) accepted.</p>
|
||||
<p>The below table is until end of September 2024.</p>
|
||||
<div role="region"><table>
|
||||
<tr>
|
||||
<th>Project</th>
|
||||
<th class="right">Amount</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Semgrep</td>
|
||||
<td class="right">18,559.40</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Tarides</td>
|
||||
<td class="right">62,812.50</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>MirageVPN</td>
|
||||
<td class="right">45,000.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Total</strong></td>
|
||||
<td class="right"><strong>126,371.90</strong></td>
|
||||
</tr>
|
||||
</table></div><h2 id="total"><a class="anchor" aria-hidden="true" href="#total"></a>Total</h2>
|
||||
<p>In a single table, here's our income since robur started.</p>
|
||||
<div role="region"><table>
|
||||
<tr>
|
||||
<th>Year</th>
|
||||
<th class="right">Amount</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2018</td>
|
||||
<td class="right">140,036.62</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2019</td>
|
||||
<td class="right">221,904.01</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2020</td>
|
||||
<td class="right">119,414.01</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2021</td>
|
||||
<td class="right">164,976.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2022</td>
|
||||
<td class="right">107,000.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2023</td>
|
||||
<td class="right">141,250.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2024</td>
|
||||
<td class="right">126,371.90</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Total</strong></td>
|
||||
<td class="right"><strong>1,020,952.54</strong></td>
|
||||
</tr>
|
||||
</table></div><p><img src="../images/finances.png" alt="Plot of above income table" ></p>
|
||||
<p>As you can spot, it varies quite a bit. In some years we have fewer money
|
||||
available than in other years.</p>
|
||||
<h2 id="expenses"><a class="anchor" aria-hidden="true" href="#expenses"></a>Expenses</h2>
|
||||
<p>As mentioned, the non-profit company <a href="https://aenderwerk.de">Änderwerk</a> running
|
||||
the bookkeeping and legal stuff (invoices, tax statements, contracts, etc.) gets
|
||||
a cut on each income we produce. They are doing amazing work and are very
|
||||
quick responding to our queries.</p>
|
||||
<p>We spend most of our income on salary. Some money we spend on travel. We also
|
||||
pay monthly for our server (plus some extra for hardware, and in June 2024 a
|
||||
huge amount for trying to recover data from failed SSDs).</p>
|
||||
<h2 id="conclusion"><a class="anchor" aria-hidden="true" href="#conclusion"></a>Conclusion</h2>
|
||||
<p>We have provided an overview of our income, we were three to five people working
|
||||
at robur over the entire time. As written at the beginning, we use needs-based
|
||||
payment. Our experience with this is great! It provides a lot of trust into each
|
||||
other.</p>
|
||||
<p>Our funding is diverse from multiple sources - donations, commercial work,
|
||||
public funding. This was our initial goal, and we're very happy that it works
|
||||
fine over the last five years.</p>
|
||||
<p>Taking the numbers into account, we are not paying ourselves "industry standard"
|
||||
rates - but we really love what we do - and sometimes we just take some time off.
|
||||
We do work on various projects that we really really enjoy - but where (at the
|
||||
moment) no funding is available for.</p>
|
||||
<p>We are always happy to discuss how our collective operates. If you're
|
||||
interested, please drop us a message.</p>
|
||||
<p>Of course, if we receive donations, we use them wisely - mainly for working on
|
||||
the currently not funded projects (bob, albatross, miou, mollymawk - to name a few). If you
|
||||
can spare a dime or two, don't hesitate to <a href="https://robur.coop/Donate">donate</a>.
|
||||
Donations are tax-deductable in Germany (and should be in Europe) since we're a
|
||||
registered non-profit.</p>
|
||||
<p>If you're interested in MirageOS and using it in your domain, don't hesitate
|
||||
to reach out to us (via eMail: team@robur.coop) so we can start to chat - we're keen to deploy MirageOS
|
||||
and find more domains where it is useful.</p>
|
||||
|
||||
</article>
|
||||
|
||||
</main>
|
||||
<footer>
|
||||
<a href="https://github.com/xhtmlboi/yocaml">Powered by <strong>YOCaml</strong></a>
|
||||
<br />
|
||||
</footer>
|
||||
<script>hljs.highlightAll();</script>
|
||||
</body>
|
||||
</html>
|
|
@ -123,7 +123,7 @@
|
|||
<p>As a spoiler, for P-256 sign there's another improvement of around 4.5 with <a href="https://github.com/mirage/mirage-crypto/pull/191">Virgile's PR</a> using pre-computed tables also for NIST curves.</p>
|
||||
<h2 id="the-road-ahead-for-2024"><a class="anchor" aria-hidden="true" href="#the-road-ahead-for-2024"></a>The road ahead for 2024</h2>
|
||||
<p>Remove all cstruct, everywhere, apart from in mirage-block-xen and mirage-net-xen ;). It was a fine decision in the early MirageOS days, but from a performance point of view, and for making our packages more broadly usable without many dependencies, it is time to remove cstruct. Earlier this year we already <a href="https://github.com/mirage/ocaml-tar/pull/137">removed cstruct from ocaml-tar</a> for similar reasons.</p>
|
||||
<p>Our MirageOS work is only partially funded, we cross-fund our work by commercial contracts and public (EU) funding. We are part of a non-profit company, you can make a (tax-deducable - at least in the EU) <a href="https://aenderwerk.de/donate/">donation</a> (select "DONATION robur" in the dropdown menu).</p>
|
||||
<p>Our MirageOS work is only partially funded, we cross-fund our work by commercial contracts and public (EU) funding. We are part of a non-profit company, you can make a (tax-deductable - at least in the EU) <a href="https://aenderwerk.de/donate/">donation</a> (select "DONATION robur" in the dropdown menu).</p>
|
||||
<p>We're keen to get MirageOS deployed in production - if you would like to do that, don't hesitate to reach out to us via eMail team at robur.coop</p>
|
||||
|
||||
</article>
|
||||
|
|
11
atom.xml
11
atom.xml
|
@ -3,12 +3,21 @@
|
|||
<id>https://blog.robur.coop/atom.xml</id>
|
||||
<title type="text">The Robur's blog</title>
|
||||
<generator uri="https://github.com/xhtmlboi/yocaml" version="2">YOCaml</generator>
|
||||
<updated>2024-08-21T00:00:00Z</updated>
|
||||
<updated>2024-10-21T00:00:00Z</updated>
|
||||
<author>
|
||||
<name>The Robur Team</name>
|
||||
</author>
|
||||
<link href="https://blog.robur.coop/"/>
|
||||
<link href="https://blog.robur.coop/atom.xml" rel="self"/>
|
||||
<entry>
|
||||
<id>https://blog.robur.coop//articles/finances.html</id>
|
||||
<title type="text">How has robur financially been doing since 2018?</title>
|
||||
<updated>2024-10-21T00:00:00Z</updated>
|
||||
<summary type="text">How we organise as a collective, and why we're doing that.</summary>
|
||||
<link href="https://blog.robur.coop//articles/finances.html" rel="alternate" title="How has robur financially been doing since 2018?"/>
|
||||
<category term="finances"/>
|
||||
<category term="cooperative"/>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://blog.robur.coop//articles/2024-08-21-OpenVPN-and-MirageVPN.html</id>
|
||||
<title type="text">MirageVPN and OpenVPN</title>
|
||||
|
|
103
feed.xml
103
feed.xml
|
@ -1 +1,102 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Robur's blog</title><link>https://blog.robur.coop</link><atom:link href="https://blog.robur.coop/feed.xml" rel="self" type="application/rss+xml" /><description>The Robur cooperative blog</description><generator>yocaml</generator><webMaster>team@robur.coop</webMaster><item><title>MirageVPN and OpenVPN</title><link>https://blog.robur.coop/articles/2024-08-21-OpenVPN-and-MirageVPN.html</link><pubDate>Wed, 21 Aug 2024 10:00:00 GMT</pubDate><description>Discoveries made implementing MirageVPN, a OpenVPN-compatible VPN library</description><guid isPermaLink="false">https://blog.robur.coop/articles/2024-08-21-OpenVPN-and-MirageVPN.html</guid></item><item><title>The new Tar release, a retrospective</title><link>https://blog.robur.coop/articles/tar-release.html</link><pubDate>Thu, 15 Aug 2024 10:00:00 GMT</pubDate><description>A little retrospective to the new Tar release and changes</description><guid isPermaLink="false">https://blog.robur.coop/articles/tar-release.html</guid></item><item><title>qubes-miragevpn, a MirageVPN client for QubesOS</title><link>https://blog.robur.coop/articles/qubes-miragevpn.html</link><pubDate>Mon, 24 Jun 2024 10:00:00 GMT</pubDate><description>A new OpenVPN client for QubesOS</description><guid isPermaLink="false">https://blog.robur.coop/articles/qubes-miragevpn.html</guid></item><item><title>MirageVPN server</title><link>https://blog.robur.coop/articles/miragevpn-server.html</link><pubDate>Mon, 17 Jun 2024 10:00:00 GMT</pubDate><description>Announcement of our MirageVPN server.</description><guid isPermaLink="false">https://blog.robur.coop/articles/miragevpn-server.html</guid></item><item><title>Speeding up MirageVPN and use it in the wild</title><link>https://blog.robur.coop/articles/miragevpn-performance.html</link><pubDate>Tue, 16 Apr 2024 10:00:00 GMT</pubDate><description>Performance engineering of MirageVPN, speeding it up by a factor of 25.</description><guid isPermaLink="false">https://blog.robur.coop/articles/miragevpn-performance.html</guid></item><item><title>GPTar</title><link>https://blog.robur.coop/articles/gptar.html</link><pubDate>Wed, 21 Feb 2024 10:00:00 GMT</pubDate><description>Hybrid GUID partition table and tar archive</description><guid isPermaLink="false">https://blog.robur.coop/articles/gptar.html</guid></item><item><title>Speeding elliptic curve cryptography</title><link>https://blog.robur.coop/articles/speeding-ec-string.html</link><pubDate>Tue, 13 Feb 2024 10:00:00 GMT</pubDate><description>How we improved the performance of elliptic curves by only modifying the underlying byte array</description><guid isPermaLink="false">https://blog.robur.coop/articles/speeding-ec-string.html</guid></item><item><title>Cooperation and Lwt.pause</title><link>https://blog.robur.coop/articles/lwt_pause.html</link><pubDate>Sun, 11 Feb 2024 10:00:00 GMT</pubDate><description>A disgression about Lwt and Miou</description><guid isPermaLink="false">https://blog.robur.coop/articles/lwt_pause.html</guid></item><item><title>Python's `str.__repr__()`</title><link>https://blog.robur.coop/articles/2024-02-03-python-str-repr.html</link><pubDate>Sat, 03 Feb 2024 10:00:00 GMT</pubDate><description>Reimplementing Python string escaping in OCaml</description><guid isPermaLink="false">https://blog.robur.coop/articles/2024-02-03-python-str-repr.html</guid></item><item><title>MirageVPN updated (AEAD, NCP)</title><link>https://blog.robur.coop/articles/miragevpn-ncp.html</link><pubDate>Mon, 20 Nov 2023 10:00:00 GMT</pubDate><description>How we resurrected MirageVPN from its bitrot state</description><guid isPermaLink="false">https://blog.robur.coop/articles/miragevpn-ncp.html</guid></item><item><title>MirageVPN & tls-crypt-v2</title><link>https://blog.robur.coop/articles/miragevpn.html</link><pubDate>Tue, 14 Nov 2023 10:00:00 GMT</pubDate><description>How we implementated tls-crypt-v2 for miragevpn</description><guid isPermaLink="false">https://blog.robur.coop/articles/miragevpn.html</guid></item></channel></rss>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>The Robur's blog</title>
|
||||
<link>https://blog.robur.coop/</link>
|
||||
<description><![CDATA[The Robur cooperative blog]]></description>
|
||||
<atom:link href="https://blog.robur.coop/feed.xml" rel="self" type="application/rss+xml"/>
|
||||
<lastBuildDate>Mon, 21 Oct 2024 00:00:00 GMT</lastBuildDate>
|
||||
<docs>https://www.rssboard.org/rss-specification</docs>
|
||||
<generator>YOCaml</generator>
|
||||
<item>
|
||||
<title>How has robur financially been doing since 2018?</title>
|
||||
<link>https://blog.robur.coop//articles/finances.html</link>
|
||||
<description><![CDATA[How we organise as a collective, and why we're doing that.]]></description>
|
||||
<guid isPermaLink="true">https://blog.robur.coop//articles/finances.html</guid>
|
||||
<pubDate>Mon, 21 Oct 2024 00:00:00 GMT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>MirageVPN and OpenVPN</title>
|
||||
<link>https://blog.robur.coop//articles/2024-08-21-OpenVPN-and-MirageVPN.html</link>
|
||||
<description>
|
||||
<![CDATA[Discoveries made implementing MirageVPN, a OpenVPN-compatible VPN library]]>
|
||||
</description>
|
||||
<guid isPermaLink="true">https://blog.robur.coop//articles/2024-08-21-OpenVPN-and-MirageVPN.html</guid>
|
||||
<pubDate>Wed, 21 Aug 2024 00:00:00 GMT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>The new Tar release, a retrospective</title>
|
||||
<link>https://blog.robur.coop//articles/tar-release.html</link>
|
||||
<description><![CDATA[A little retrospective to the new Tar release and changes]]></description>
|
||||
<guid isPermaLink="true">https://blog.robur.coop//articles/tar-release.html</guid>
|
||||
<pubDate>Thu, 15 Aug 2024 00:00:00 GMT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>qubes-miragevpn, a MirageVPN client for QubesOS</title>
|
||||
<link>https://blog.robur.coop//articles/qubes-miragevpn.html</link>
|
||||
<description><![CDATA[A new OpenVPN client for QubesOS]]></description>
|
||||
<guid isPermaLink="true">https://blog.robur.coop//articles/qubes-miragevpn.html</guid>
|
||||
<pubDate>Mon, 24 Jun 2024 00:00:00 GMT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>MirageVPN server</title>
|
||||
<link>https://blog.robur.coop//articles/miragevpn-server.html</link>
|
||||
<description><![CDATA[Announcement of our MirageVPN server.]]></description>
|
||||
<guid isPermaLink="true">https://blog.robur.coop//articles/miragevpn-server.html</guid>
|
||||
<pubDate>Mon, 17 Jun 2024 00:00:00 GMT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>Speeding up MirageVPN and use it in the wild</title>
|
||||
<link>https://blog.robur.coop//articles/miragevpn-performance.html</link>
|
||||
<description>
|
||||
<![CDATA[Performance engineering of MirageVPN, speeding it up by a factor of 25.]]>
|
||||
</description>
|
||||
<guid isPermaLink="true">https://blog.robur.coop//articles/miragevpn-performance.html</guid>
|
||||
<pubDate>Tue, 16 Apr 2024 00:00:00 GMT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>GPTar</title>
|
||||
<link>https://blog.robur.coop//articles/gptar.html</link>
|
||||
<description><![CDATA[Hybrid GUID partition table and tar archive]]></description>
|
||||
<guid isPermaLink="true">https://blog.robur.coop//articles/gptar.html</guid>
|
||||
<pubDate>Wed, 21 Feb 2024 00:00:00 GMT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>Speeding elliptic curve cryptography</title>
|
||||
<link>https://blog.robur.coop//articles/speeding-ec-string.html</link>
|
||||
<description>
|
||||
<![CDATA[How we improved the performance of elliptic curves by only modifying the underlying byte array]]>
|
||||
</description>
|
||||
<guid isPermaLink="true">https://blog.robur.coop//articles/speeding-ec-string.html</guid>
|
||||
<pubDate>Tue, 13 Feb 2024 00:00:00 GMT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>Cooperation and Lwt.pause</title>
|
||||
<link>https://blog.robur.coop//articles/lwt_pause.html</link>
|
||||
<description><![CDATA[A disgression about Lwt and Miou]]></description>
|
||||
<guid isPermaLink="true">https://blog.robur.coop//articles/lwt_pause.html</guid>
|
||||
<pubDate>Sun, 11 Feb 2024 00:00:00 GMT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>Python's `str.__repr__()`</title>
|
||||
<link>https://blog.robur.coop//articles/2024-02-03-python-str-repr.html</link>
|
||||
<description><![CDATA[Reimplementing Python string escaping in OCaml]]></description>
|
||||
<guid isPermaLink="true">https://blog.robur.coop//articles/2024-02-03-python-str-repr.html</guid>
|
||||
<pubDate>Sat, 03 Feb 2024 00:00:00 GMT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>MirageVPN updated (AEAD, NCP)</title>
|
||||
<link>https://blog.robur.coop//articles/miragevpn-ncp.html</link>
|
||||
<description><![CDATA[How we resurrected MirageVPN from its bitrot state]]></description>
|
||||
<guid isPermaLink="true">https://blog.robur.coop//articles/miragevpn-ncp.html</guid>
|
||||
<pubDate>Mon, 20 Nov 2023 00:00:00 GMT</pubDate>
|
||||
</item>
|
||||
<item>
|
||||
<title>MirageVPN & tls-crypt-v2</title>
|
||||
<link>https://blog.robur.coop//articles/miragevpn.html</link>
|
||||
<description><![CDATA[How we implementated tls-crypt-v2 for miragevpn]]></description>
|
||||
<guid isPermaLink="true">https://blog.robur.coop//articles/miragevpn.html</guid>
|
||||
<pubDate>Tue, 14 Nov 2023 00:00:00 GMT</pubDate>
|
||||
</item>
|
||||
</channel>
|
||||
</rss>
|
BIN
images/finances.png
Normal file
BIN
images/finances.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.3 KiB |
13
index.html
13
index.html
|
@ -25,6 +25,19 @@
|
|||
<h3>Essays and ramblings</h3>
|
||||
|
||||
<ol reversed class="list-articles"><li>
|
||||
<div class="side">
|
||||
<a href="https://hannes.robur.coop">
|
||||
<img src="https://www.gravatar.com/avatar/25558b4457cf73159f5427fdf2b4a717">
|
||||
</a></div>
|
||||
<div class="content">
|
||||
<span class="date">2024-10-21</span>
|
||||
<a href="https://blog.robur.coop/articles/finances.html">How has robur financially been doing since 2018?</a><br />
|
||||
<p>How we organise as a collective, and why we're doing that.</p>
|
||||
<div class="bottom">
|
||||
<ul class="tags-list"><li><a href="https://blog.robur.coop/tags.html#tag-finances">finances</a></li><li><a href="https://blog.robur.coop/tags.html#tag-cooperative">cooperative</a></li></ul>
|
||||
</div>
|
||||
</div>
|
||||
</li><li>
|
||||
<div class="side">
|
||||
<a href="https://reyn.ir/">
|
||||
<img src="https://www.gravatar.com/avatar/54a15736b37879bc9708c1618a7cc130">
|
||||
|
|
6
rss1.xml
6
rss1.xml
|
@ -6,6 +6,7 @@
|
|||
<description><![CDATA[The Robur cooperative blog]]></description>
|
||||
<items>
|
||||
<rdf:Seq>
|
||||
<rdf:li resource="https://blog.robur.coop//articles/finances.html"/>
|
||||
<rdf:li resource="https://blog.robur.coop//articles/2024-08-21-OpenVPN-and-MirageVPN.html"/>
|
||||
<rdf:li resource="https://blog.robur.coop//articles/tar-release.html"/>
|
||||
<rdf:li resource="https://blog.robur.coop//articles/qubes-miragevpn.html"/>
|
||||
|
@ -20,6 +21,11 @@
|
|||
</rdf:Seq>
|
||||
</items>
|
||||
</channel>
|
||||
<item rdf:about="https://blog.robur.coop//articles/finances.html">
|
||||
<title>How has robur financially been doing since 2018?</title>
|
||||
<link>https://blog.robur.coop//articles/finances.html</link>
|
||||
<description><![CDATA[How we organise as a collective, and why we're doing that.]]></description>
|
||||
</item>
|
||||
<item rdf:about="https://blog.robur.coop//articles/2024-08-21-OpenVPN-and-MirageVPN.html">
|
||||
<title>MirageVPN and OpenVPN</title>
|
||||
<link>https://blog.robur.coop//articles/2024-08-21-OpenVPN-and-MirageVPN.html</link>
|
||||
|
|
12
tags.html
12
tags.html
|
@ -22,7 +22,7 @@
|
|||
</header>
|
||||
<main><a href="/index.html">Back to index</a>
|
||||
|
||||
<ul class="tags-list aeration"><li><a href="#tag-Community">Community</a></li><li><a href="#tag-Cstruct">Cstruct</a></li><li><a href="#tag-Git">Git</a></li><li><a href="#tag-MirageOS">MirageOS</a></li><li><a href="#tag-MirageVPN">MirageVPN</a></li><li><a href="#tag-OCaml">OCaml</a></li><li><a href="#tag-OpenVPN">OpenVPN</a></li><li><a href="#tag-Python">Python</a></li><li><a href="#tag-QubesOS">QubesOS</a></li><li><a href="#tag-Scheduler">Scheduler</a></li><li><a href="#tag-Unikernel">Unikernel</a></li><li><a href="#tag-VPN">VPN</a></li><li><a href="#tag-cryptography">cryptography</a></li><li><a href="#tag-functors">functors</a></li><li><a href="#tag-gpt">gpt</a></li><li><a href="#tag-mbr">mbr</a></li><li><a href="#tag-performance">performance</a></li><li><a href="#tag-persistent storage">persistent storage</a></li><li><a href="#tag-security">security</a></li><li><a href="#tag-tar">tar</a></li><li><a href="#tag-unicode">unicode</a></li><li><a href="#tag-unikernel">unikernel</a></li><li><a href="#tag-vpn">vpn</a></li></ul><div class="tag-box" id="tag-Community">
|
||||
<ul class="tags-list aeration"><li><a href="#tag-Community">Community</a></li><li><a href="#tag-Cstruct">Cstruct</a></li><li><a href="#tag-Git">Git</a></li><li><a href="#tag-MirageOS">MirageOS</a></li><li><a href="#tag-MirageVPN">MirageVPN</a></li><li><a href="#tag-OCaml">OCaml</a></li><li><a href="#tag-OpenVPN">OpenVPN</a></li><li><a href="#tag-Python">Python</a></li><li><a href="#tag-QubesOS">QubesOS</a></li><li><a href="#tag-Scheduler">Scheduler</a></li><li><a href="#tag-Unikernel">Unikernel</a></li><li><a href="#tag-VPN">VPN</a></li><li><a href="#tag-cooperative">cooperative</a></li><li><a href="#tag-cryptography">cryptography</a></li><li><a href="#tag-finances">finances</a></li><li><a href="#tag-functors">functors</a></li><li><a href="#tag-gpt">gpt</a></li><li><a href="#tag-mbr">mbr</a></li><li><a href="#tag-performance">performance</a></li><li><a href="#tag-persistent storage">persistent storage</a></li><li><a href="#tag-security">security</a></li><li><a href="#tag-tar">tar</a></li><li><a href="#tag-unicode">unicode</a></li><li><a href="#tag-unikernel">unikernel</a></li><li><a href="#tag-vpn">vpn</a></li></ul><div class="tag-box" id="tag-Community">
|
||||
<h3>
|
||||
<span>Community</span>
|
||||
</h3>
|
||||
|
@ -82,11 +82,21 @@
|
|||
<span>VPN</span>
|
||||
</h3>
|
||||
<ul><li><a href="/articles/miragevpn.html">MirageVPN & tls-crypt-v2</a></li><li><a href="/articles/miragevpn-ncp.html">MirageVPN updated (AEAD, NCP)</a></li><li><a href="/articles/miragevpn-performance.html">Speeding up MirageVPN and use it in the wild</a></li><li><a href="/articles/miragevpn-server.html">MirageVPN server</a></li></ul>
|
||||
</div><div class="tag-box" id="tag-cooperative">
|
||||
<h3>
|
||||
<span>cooperative</span>
|
||||
</h3>
|
||||
<ul><li><a href="/articles/finances.html">How has robur financially been doing since 2018?</a></li></ul>
|
||||
</div><div class="tag-box" id="tag-cryptography">
|
||||
<h3>
|
||||
<span>cryptography</span>
|
||||
</h3>
|
||||
<ul><li><a href="/articles/speeding-ec-string.html">Speeding elliptic curve cryptography</a></li><li><a href="/articles/miragevpn-performance.html">Speeding up MirageVPN and use it in the wild</a></li><li><a href="/articles/miragevpn-server.html">MirageVPN server</a></li></ul>
|
||||
</div><div class="tag-box" id="tag-finances">
|
||||
<h3>
|
||||
<span>finances</span>
|
||||
</h3>
|
||||
<ul><li><a href="/articles/finances.html">How has robur financially been doing since 2018?</a></li></ul>
|
||||
</div><div class="tag-box" id="tag-functors">
|
||||
<h3>
|
||||
<span>functors</span>
|
||||
|
|
Loading…
Reference in a new issue