<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: superboum</title><link>https://news.ycombinator.com/user?id=superboum</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Jul 2026 04:27:57 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=superboum" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by superboum in "Database Traffic Control"]]></title><description><![CDATA[
<p>Deceptive query plans (eg. due to very specific write shapes), lack of QoS classes (to priorize OLTP requests over OLAP ones without spawning a read replica), manual partitioning that is way too manual, lack of backpressure during replication (WAL accumulate and Postgres continues accepting writes) and lack of first-class leader-election mechanism (eg. something like what sorintlab/stolon does) are my top 5 issues with PostgreSQL. Glad to see that one of my 5 pain point (that I call "QoS classes") is shared and addressed, I'm sure on-call engineers will thank you, this work addresses real operating issues.</p>
]]></description><pubDate>Thu, 02 Jul 2026 06:56:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=48757521</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=48757521</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48757521</guid></item><item><title><![CDATA[New comment by superboum in "Commoning open-source versus growth-hacking open-source"]]></title><description><![CDATA[
<p>It is harder and harder to publish SaaS building bricks as open-source, as too many companies are not contributing back their change (sometimes called "freeriders"), leading to the core developers abandoning open-source to protect their business model. This post is a summary of the discussions that happened between Garage core developers and their strategy to make sure that everyone share their improvements while making legally mandatory that future versions are published under the same open license.</p>
]]></description><pubDate>Thu, 11 Dec 2025 15:08:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46232322</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=46232322</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46232322</guid></item><item><title><![CDATA[Commoning open-source versus growth-hacking open-source]]></title><description><![CDATA[
<p>Article URL: <a href="https://garagehq.deuxfleurs.fr/blog/2025-commoning-opensource/">https://garagehq.deuxfleurs.fr/blog/2025-commoning-opensource/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46232321">https://news.ycombinator.com/item?id=46232321</a></p>
<p>Points: 7</p>
<p># Comments: 3</p>
]]></description><pubDate>Thu, 11 Dec 2025 15:08:41 +0000</pubDate><link>https://garagehq.deuxfleurs.fr/blog/2025-commoning-opensource/</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=46232321</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46232321</guid></item><item><title><![CDATA[New comment by superboum in "Europe's most dangerous cities according to citizens"]]></title><description><![CDATA[
<p>As we say in data analytics, "garbage in, garbage out". These ranking based on internet users perceived insecurity have been identified many times for their lack of relevance and their bias.<p>First bias is "perception", which is influenced by how media want to communicate and who own them - in France, mostly right wing billionaires. There is no actual correlation with actual, real, statistics.<p>Second, by who answer the survey - often people concerned about insecurity, which is a topic from the right.<p>Finally, there is no control on how many times you can vote, and some people demonstrated that with very few knowledge, you can completely change the results by sending thousands of vote [1].<p>The fact that Nantes is deemed highly insecure in France is also the consequence of this city being socialist and the place where police killed a guy named Steve during a party. So these attacks on Nantes being dangerous can also be interpreted as a backlash[2].<p>Please Hacker News, you're better than this, don't fall in this trap...<p>[1]: <a href="https://xcancel.com/dbertho/status/1574761634840592384" rel="nofollow">https://xcancel.com/dbertho/status/1574761634840592384</a>
[2]: <a href="https://www.index.ngo/en/news/steve-maia-canico-trial-of-police-commissioner-chassaing-without-indexs-expert-report/" rel="nofollow">https://www.index.ngo/en/news/steve-maia-canico-trial-of-pol...</a></p>
]]></description><pubDate>Sat, 11 Oct 2025 15:38:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=45549969</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=45549969</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45549969</guid></item><item><title><![CDATA[New comment by superboum in "Getting the Grid to Net Zero"]]></title><description><![CDATA[
<p>First, there is no proof that "LFP grid scale batteries" last longer than regular batteries today as your question may imply.<p>It seems the first "grid scale batteries" were derived from EV batteries, and are planned for 1 or 2 decades[1].<p>Basically, we are discussing battery ageing here, which is a complex problem[2].<p>According to the different studies on the topic I found, mentioning specifically "large-scale" installation like the ones discussed here, the answer is definitely and deceptively the same: between 10 and 20 years[3][5]. More precisely.<p>From [3]:<p>> To address the global effort to decrease carbon emissions, many consumers, corporations, and energy providers are adopting the use of electric vehicles and stationary energy storage systems paired with renewable electricity generation. These systems often utilize large-format lithium-ion batteries [...]. Real-world battery lifetime is evaluated by simulating residential energy storage and commercial frequency containment reserve systems in several U.S. climate regions. Predicted lifetime across cell types varies from 7 years to 20+ years, though all cells are predicted to have at least 10 year life in certain conditions.<p>From [5]:<p>> In the 2020 report, calendar life for both LFP and NMC Li-ion systems was stated as 10 years. The 2022
report takes additional information from long-term laboratory work (Saft, 2021) and product data into
account (Baxter, 2021b) to establish new calendar lives of 16 years for LFP and 13 years for NMC. The
calendar life is unchanged for 2030.<p>I also claim that battery are not renewable. One might argue that, if we can recycle batteries like we recycle regular glass, it could be considered as renewable. However, today there are 2 industrialized processes that are not satisfying (pyrometallurgical and hydrometallurgical processing) which "require high energy, and/or complex wet-chemistry steps"[4]. Some explored processes called "direct recycling"[4], which also has severe drawbacks but at least is more promising.<p>Which makes me think: we are, at least, making huge bets on the future here, as we risk 1) having huge amount of aged batteries in 1 or 2 decades, 2) no more mineral resources to extract.<p>[1]: <a href="https://www.quora.com/How-long-do-grid-storage-batteries-last" rel="nofollow">https://www.quora.com/How-long-do-grid-storage-batteries-las...</a><p>[2]: <a href="https://cea.hal.science/cea-01791260/document" rel="nofollow">https://cea.hal.science/cea-01791260/document</a><p>[3]: <a href="https://www.sciencedirect.com/science/article/abs/pii/S2352152X23024404" rel="nofollow">https://www.sciencedirect.com/science/article/abs/pii/S23521...</a><p>[4]: <a href="https://www.sciencedirect.com/science/article/pii/S2352152X23000130" rel="nofollow">https://www.sciencedirect.com/science/article/pii/S2352152X2...</a><p>[5]: <a href="https://www.pnnl.gov/sites/default/files/media/file/ESGC%20Cost%20Performance%20Report%202022%20PNNL-33283.pdf" rel="nofollow">https://www.pnnl.gov/sites/default/files/media/file/ESGC%20C...</a></p>
]]></description><pubDate>Tue, 16 Apr 2024 06:42:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=40048996</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=40048996</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40048996</guid></item><item><title><![CDATA[New comment by superboum in "Getting the Grid to Net Zero"]]></title><description><![CDATA[
<p>It seems the correlation between the article title ("Getting the Grid to Net Zero") and the subject that is actually discussed (maintaining a power grid stability in presence of inverters) is very weak.<p>Don't get me wrong: the article is very interesting. I really learnt something: I discovered "system inertia", I was not aware of stability issues linked to inverters, and did not know about grid-forming & grid-following inverters, and the research about finding the minimal amount of grid-forming to keep a power-grid stable in case of an issue in a given power plant. All of these topics are very interesting.<p>But making a connection between inverters and ecology through the "net zero" terms seems either off topic, misleading or irrelevant. First because this "net zero" term is heavily criticized as it means carbon are still emitted but companies are paying for carbon credits (that are not compensating at all the carbon emitted for many reasons [1]). Here building solar panels, wind turbines & batteries emits CO2, and their lifespan is relatively short (at most 10 years for batteries, ~25 years for wind turbines & solar panels, compared to hundreds of years for a dam[7]). Second because climate change is not the only concern about ecology, there are concerning questions about mineral resource extraction, like lithium[2] that is heavily used in batteries, but more generally, we are already extracting the whole Mendeleev periodic table[3]: we don't have alternative mineral resources for batteries or other technologies, the only solution is to extract, produce & consume less. Third, if your only goal is to reduce carbon dioxide equivalent (eqCO2), you should advertise nuclear power plant as the solution. Depending on studies, they produce the same amount or less eqCO2 compared to a wind turbine without batteries[4]. Of course, often eqCO2 is not the only important subject here (being renewable/sustainable is also important, and uranium is a limited resource). And finally, the fact we use renewable energy more and more did not lead to a worlwide energy transition, but an addition. Having a transition will require way more than technologies[5], something that is also not discussed here.<p>Speaking about solutions to pack a higher percentage of Intermittent renewable energy sources (IRES)[6] in a power-grid through the help of batteries and inverters would have been more accurate in my opinion. Maybe "Why we were not able to achieve 100% renewable energy before?" if you want to be catchy, and it's not perfect, as you are still hiding that you rely on lot of batteries, that are far from being renewable.<p>As a conclusion, I would say it would be great to be careful when engineers (here IEEE) discuss specific technologies (here power-grid inverters) to not draw conclusion too quickly (having a positive environmental impact), as it's far from being obvious. I know they want to be read, I know that the title must be catchy to attract readers, but it's not an excuse as illustrated above.<p>[1]: <a href="https://demandclimatejustice.org/wp-content/uploads/2020/10/NOT_ZERO_How_net_zero_targets_disguise_climate_inaction_FINAL.pdf" rel="nofollow">https://demandclimatejustice.org/wp-content/uploads/2020/10/...</a><p>[2]: <a href="https://www.cnbc.com/2023/08/29/a-worldwide-lithium-shortage-could-come-as-soon-as-2025.html" rel="nofollow">https://www.cnbc.com/2023/08/29/a-worldwide-lithium-shortage...</a><p>[3]: <a href="https://www.euchems.eu/euchems-periodic-table/" rel="nofollow">https://www.euchems.eu/euchems-periodic-table/</a><p>[4]: <a href="https://www.edfenergy.com/media-centre/news-releases/over-its-lifetime-nuclear-power-stations-carbon-footprint-same-wind-power" rel="nofollow">https://www.edfenergy.com/media-centre/news-releases/over-it...</a><p>[5]: <a href="https://www.sciencedirect.com/science/article/abs/pii/S2214629618312246" rel="nofollow">https://www.sciencedirect.com/science/article/abs/pii/S22146...</a><p>[6]: <a href="https://en.wikipedia.org/wiki/Variable_renewable_energy" rel="nofollow">https://en.wikipedia.org/wiki/Variable_renewable_energy</a><p>[7]: <a href="https://www.power-technology.com/data-insights/power-plant-profile-cusset-jonage-france/" rel="nofollow">https://www.power-technology.com/data-insights/power-plant-p...</a></p>
]]></description><pubDate>Mon, 15 Apr 2024 13:51:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=40040554</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=40040554</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40040554</guid></item><item><title><![CDATA[New comment by superboum in "I got robbed of my first kernel contribution"]]></title><description><![CDATA[
<p>The kernel documentation defines some tag conventions, one of them is "Suggested-by".
Its definition:<p><pre><code>  A Suggested-by: tag indicates that the patch idea is suggested by the person named and ensures credit to the person for the idea.
  Please note that this tag should not be added without the reporter's permission, especially if the idea was not posted in a public forum. 
  That said, if we diligently credit our idea reporters, they will, hopefully, be inspired to help us again in the future.
</code></pre>
It could have been more appropriate to the situation, I think it's convey better the idea that you have found a solution to a problem, but because you are not familiar with the project, the exact syntax of your patch has not been kept.<p>Ref: <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?id=HEAD" rel="nofollow noreferrer">https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...</a></p>
]]></description><pubDate>Wed, 27 Sep 2023 13:09:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=37674130</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=37674130</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37674130</guid></item><item><title><![CDATA[New comment by superboum in "Haiku R1/beta4"]]></title><description><![CDATA[
<p>3 days ago, I installed Haiku on bare metal: an old PC from ~2004. I was not aware that a new version was planned at that time, but the upgrade was completely smooth.<p>My idea when I installed Haiku was to make my own version of the "old computer challenge"[1], with an emphasis on using GUI apps.<p>Similarly to @probono (a FOSS dev), I also found Haiku "shockingly good"[2] at being a lightweight, responsive, easy-to-use desktop OS.<p>After some patching, I was even able to compile Tectonic[3], a modern LaTeX engine written in Rust, and Quaternion a Matrix client supporting E2EE[4]. All that running on a single core Athlon 64 and 1.5GB of RAM.<p>I posted some screenshots in a Mastodon threads if you are curious[5] (but my posts are in french sorry :/). And of course this comment is posted from Haiku!<p>[1]: <a href="https://dataswamp.org/~solene/2021-07-07-old-computer-challenge.html" rel="nofollow">https://dataswamp.org/~solene/2021-07-07-old-computer-challe...</a><p>[2]: <a href="https://medium.com/@probonopd/my-first-day-with-haiku-shockingly-good-8930cad4bbb0" rel="nofollow">https://medium.com/@probonopd/my-first-day-with-haiku-shocki...</a><p>[3]: <a href="https://tectonic-typesetting.github.io/en-US/" rel="nofollow">https://tectonic-typesetting.github.io/en-US/</a><p>[4]: <a href="https://github.com/quotient-im/Quaternion">https://github.com/quotient-im/Quaternion</a><p>[5]: <a href="https://mastodon.tedomum.net/@tgoldoin/109554115997967651" rel="nofollow">https://mastodon.tedomum.net/@tgoldoin/109554115997967651</a></p>
]]></description><pubDate>Fri, 23 Dec 2022 21:08:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=34110640</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=34110640</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34110640</guid></item><item><title><![CDATA[New comment by superboum in "Show HN: Linen – Open-source Slack for communities"]]></title><description><![CDATA[
<p>Just a note to say that if you are using Matrix and want your conversations to be indexed in search engine ("Google-searchable"), you can deploy matrix-static[1] or you can use the live instance hosted by the Matrix foundation[2].<p>I think an interesting comparison, for both Linen and Matrix, would be to compare these 2 approaches: Linen natively indexed conversation and this Matrix "static" client. I would be especially interested by what additional features Linen provides in term of indexing compared to this static client.<p>[1]: <a href="https://github.com/matrix-org/matrix-static" rel="nofollow">https://github.com/matrix-org/matrix-static</a>
[2]: <a href="https://view.matrix.org/" rel="nofollow">https://view.matrix.org/</a></p>
]]></description><pubDate>Wed, 19 Oct 2022 06:24:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=33258422</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=33258422</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33258422</guid></item><item><title><![CDATA[New comment by superboum in "Show HN: Distributed JMAP and IMAP Servers in Rust"]]></title><description><![CDATA[
<p>Hi, I would like to mention that some work on a Rust SMTP server has been already done with the Kannader project[1] (Disclaimer: I have no contribution on it but I know the maintainer).<p>I also work on a Rust IMAP server that is far from being as feature complete as yours. I also chose your `mail-parser` library to parse RFC822/5822, but we observed that in many cases, we did not have enough information to build some BODY/BODYSTRUCTURE responses. We also discovered that line count and many details are not very obvious on IMAP, did you run some tests to compare your IMAP server outputs to existing servers? Or, more generally, what is your approach to ensure compatibility / integration with the existing email ecosystem?<p>In any case, congratulation for your project, we will follow it closely! I experimented how big these protocols became with all their extensions, this is an impressive work!<p>[1]: <a href="https://github.com/Ekleog/kannader" rel="nofollow">https://github.com/Ekleog/kannader</a></p>
]]></description><pubDate>Mon, 19 Sep 2022 08:16:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=32895652</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=32895652</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32895652</guid></item><item><title><![CDATA[New comment by superboum in "Garage, our self-hosted distributed object storage solution"]]></title><description><![CDATA[
<p>The content is currently stored in plaintext on the disk by Garage, so you have to encrypt the data yourself. For example, you can configure your server to encrypt at rest the partition that contains your `data_dir` and your `meta_dir` or build/use applications that supports client-side encryption such as rclone with its crypt module[0] or Nextcloud with its end-to-end encryption module[1].<p>[0]: <a href="https://rclone.org/crypt/" rel="nofollow">https://rclone.org/crypt/</a><p>[1]: <a href="https://nextcloud.com/endtoend/" rel="nofollow">https://nextcloud.com/endtoend/</a></p>
]]></description><pubDate>Tue, 08 Feb 2022 19:18:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=30263132</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=30263132</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30263132</guid></item><item><title><![CDATA[New comment by superboum in "Garage, our self-hosted distributed object storage solution"]]></title><description><![CDATA[
<p>You own the servers. This is a tool to build your own object-storage cluster. For example, you can get 3 old desktop PCs, install Linux on them, download and launch Garage on them, configure your 3 instances in a single cluster, then send data to this cluster. Your data will be spread and duplicated on the 3 machines. If one machine fails or is offline, you can still access and write data to the cluster.</p>
]]></description><pubDate>Tue, 08 Feb 2022 14:42:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=30258926</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=30258926</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30258926</guid></item><item><title><![CDATA[New comment by superboum in "Garage, our self-hosted distributed object storage solution"]]></title><description><![CDATA[
<p>Our software is published under the AGPLv3 license and comes with no guarantee, like any other FOSS project (if you do not pay for support). We are considering our software as "public beta" quality, so we think it works well, at least for us.<p>On the plus side, it survived Hacker News Hug of Death. Indeed, the website we linked is hosted on our own Garage cluster made of old Lenovo ThinkCentre M83 (with Intel Pentium G3420 and 8GB of RAM) and the cluster seems fine. We also host more than 100k objects in our Matrix (a chat service) bucket.<p>On the minus side, this is the first time we have so much coverage, so our software has not yet been tested by thousands of people. It is possible that in the near future, some edge cases we never triggered are reported. This is the reason why most people wait that an application reaches a certain level of adoption before using it, in other words they don't want to pay "the early adopter cost".<p>In the end, it's up to you :-)</p>
]]></description><pubDate>Tue, 08 Feb 2022 13:36:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=30258181</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=30258181</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30258181</guid></item><item><title><![CDATA[New comment by superboum in "Garage, our self-hosted distributed object storage solution"]]></title><description><![CDATA[
<p>Another benefit compared to MinIO is we have "flexible topologies".<p>Due to our design choice, you can add and remove nodes without any constraint on number of nodes and size of the storage. So you do not have to overprovision your cluster as recommended by MinIO[0].<p>Additionally, and we planned a full blog post on this subject, adding or removing a node in the cluster does not lead to a full rebalance of the cluster.
To understand why, I must explain how it works traditionally and how we improved on existing work.<p>When you initialize the cluster, we split the cluster in partitions, then assign partitions to nodes (see Maglev[1]). Later, based on their hash, we will store data in its corresponding partition. When a node is added or removed, traditional approaches rerun the whole algorithm and comes with a totally different partition assignation. Instead, we try to compute a new partition distribution that minimize partitions assignment change, which in the end minimize the number of partitions moved.<p>On the drawback side, Garage does not implement erasure coding (as it also the reason of many MinIO's limitations) and duplicate data 3 times which is less efficient. Garage also implements less S3 endpoints than Minio (for example we do not support versioning), the full list is available in our documentation[2].<p>[0]: <a href="https://docs.min.io/minio/baremetal/installation/deploy-minio-distributed.html#capacity-based-planning" rel="nofollow">https://docs.min.io/minio/baremetal/installation/deploy-mini...</a><p>[1]: <a href="https://www.usenix.org/conference/nsdi16/technical-sessions/presentation/eisenbud" rel="nofollow">https://www.usenix.org/conference/nsdi16/technical-sessions/...</a><p>[2]: <a href="https://garagehq.deuxfleurs.fr/documentation/reference-manual/s3-compatibility/" rel="nofollow">https://garagehq.deuxfleurs.fr/documentation/reference-manua...</a></p>
]]></description><pubDate>Tue, 08 Feb 2022 13:26:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=30258080</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=30258080</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30258080</guid></item><item><title><![CDATA[New comment by superboum in "Garage, our self-hosted distributed object storage solution"]]></title><description><![CDATA[
<p>Currently, we have no elegant way to achieve what you want.<p>When failures occur, repair is done through workers that says when they launch, when they repair chunks, and when they exit in the logs. We also have `garage status` and `garage stats`. The first command displays healthy and non healthy nodes, the second one displays the queue length of our tables and chunks, if their values are greater than zero, we are repairing the cluster.
We are documenting failure recovery in our documentation: <a href="https://garagehq.deuxfleurs.fr/documentation/cookbook/recovering/" rel="nofollow">https://garagehq.deuxfleurs.fr/documentation/cookbook/recove...</a><p>For the near future, we plan to integrate opentelemetry. But we are still discussing the design and information we want to track and report. We are currently discussing these questions in our issue tracker:
<a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/111" rel="nofollow">https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/111</a>
<a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/207" rel="nofollow">https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/207</a><p>If you have some knowledge/experience on this subject, feel free to share it in these issues.</p>
]]></description><pubDate>Tue, 08 Feb 2022 13:10:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=30257924</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=30257924</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30257924</guid></item><item><title><![CDATA[New comment by superboum in "Garage, our self-hosted distributed object storage solution"]]></title><description><![CDATA[
<p>Thanks for reporting the problem.<p>I just deleted the AAAA entry for this machine. In the meantime, if the result is cached for you, you can pass the `-4` argument to force IPv4:<p><pre><code>  git clone -4 git@git.deuxfleurs.fr:Deuxfleurs/garage.git 
</code></pre>
And, in a second time, we will work on a better/working IPv6 configuration for our Git repository and all of our services (we use Nomad+Docker and did not find a way to expose IPv6 in a satisfying way yet).</p>
]]></description><pubDate>Tue, 08 Feb 2022 12:21:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=30257587</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=30257587</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30257587</guid></item><item><title><![CDATA[New comment by superboum in "Garage, our self-hosted distributed object storage solution"]]></title><description><![CDATA[
<p>So let's take the example of a 9-nodes clusters with a 100ms RTT over the network to understand. In this specific (yet a little bit artificial) situation, Garage particularly shines compared to Minio or SeaweedFS (or any Raft-based object store) while providing the same consistency properties.<p>For a Raft-based object store, your gateway will receive the write request and forward it to the leader (+ 100ms, 2 messages). Then, the leader will forward in parallel this write to the 9 nodes of the cluster and wait that a majority answers (+ 100ms, 18 messages). Then the leader will confirm the write to all the cluster and wait for a majority again (+ 100ms, 18 messages). Finally, it will answer to your gateway (already counted in the first step). In the end, our write took 300ms and generated 38 messages over the cluster.<p>Another critical point with Raft is that your writes do not scale: they all have to go through your leader. So on the writes point of view, it is not very different from having a single server.<p>For a DynamoDB-like object store (Riak CS, Pithos, Openstack Swift, Garage), the gateway receives the request and know directly on which nodes it must store the writes. For Garage, we choose to store every writes on 3 different nodes. So the gateway sends the write request to the 3 nodes and waits that at least 2 nodes confirm the write (+ 100ms, 6 messages). In the end, our write took 100ms, generated 6 messages over the cluster, and the number of writes is not dependent on the number of (raft) nodes in the cluster.<p>With this model, we can still provide always up to date values. When performing a read request, we also query the 3 nodes that must contain the data and wait for 2 of them. Because we have 3 nodes, wrote at least on 2 of them, and read on 2 of them, we will necessarily get the last value. This algorithm is discussed in Amazon's DynamoDB paper[0].<p>I reasoned in a model where there is no bandwidth, no CPU limit, no contention at all. In real systems, these limits apply, and we think that's another argument in favor of Garage :-)<p>[0]: <a href="https://dl.acm.org/doi/abs/10.1145/1323293.1294281" rel="nofollow">https://dl.acm.org/doi/abs/10.1145/1323293.1294281</a></p>
]]></description><pubDate>Tue, 08 Feb 2022 12:03:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=30257457</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=30257457</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30257457</guid></item><item><title><![CDATA[New comment by superboum in "Garage, our self-hosted distributed object storage solution"]]></title><description><![CDATA[
<p>I tried to answer to a comment that was deleted, probably due to the form. Instead of deleting my answer, I want to share the reworded critics and my answers.<p>> Why not using Riak and adding an S3 API around it.<p>Riak was developed by a company named Basho that went bankrupt some years ago, the software is not developed anymore. In fact, we do no need to add an S3 API around Riak KV, Basho even released "Riak Cloud Storage"[0] that exactly does this: provide an S3 API on top of Riak KV architecture. We plan to release a comparison between Garage and Riak CS, Garage has some interesting features that Riak CS does not have! In practice, implementing an object store on top of a DynamoDB-like KV store is not that straightforward. For example, Exoscale, a cloud provider went this way for their first implementation of their KV store, Pithos[1], but rewrote it later as you need special logic to handle your chunks (they did not publish Pithos v2).<p>> Most apps don't have S3 support<p>We are maintaining in our documentation an "integration" section listing all the compatible applications. Garage already works with Matrix, Mastodon, Peertube, Nextcloud, Restic (an alternative to Borg), Hugo and Publii (a static site generator with a GUI). These applications are only a fraction of all existing applications, but our software is targeted at its users/hosters.<p>> A distributed system is not necessarily highly available<p>I will not fight on the wording: we come from an academic background where the term "distributed computing" has a specific meaning that may differ outside. In our field, we define models where we study systems made of processes that can crash. Depending on your algorithms and the properties you want, you can prove that your system will work despite some crashes. We want to build software on these academic foundations. This is also the reason we put "Standing on the shoulders of giants" on our front page and linking to research papers. To put it in a nutshell, one critic we address to other software is that sometimes they lack theoretical/academic foundations that lead to unexpected failures/more work to sysadmins. But on the theoretical point, Basho and Riak were exemplary and a model for us!<p>[0]: <a href="https://docs.riak.com/riak/cs/2.1.1/index.html" rel="nofollow">https://docs.riak.com/riak/cs/2.1.1/index.html</a>
[1]: <a href="https://github.com/exoscale/pithos" rel="nofollow">https://github.com/exoscale/pithos</a></p>
]]></description><pubDate>Tue, 08 Feb 2022 11:31:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=30257240</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=30257240</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30257240</guid></item><item><title><![CDATA[New comment by superboum in "Garage, our self-hosted distributed object storage solution"]]></title><description><![CDATA[
<p>(Garage Contributor here) We reviewed many of the existing solutions and none of them had the feature set we wanted. Compared to SeaweedFS, the main difference we introduce with Garage is that our nodes are not specialized, which lead to the following benefits:<p>- Garage is easier to deploy and to operate: you don't have to manage independent components like the filer, the volume manager, the master, etc. It also seems that a bucket must be pinned to a volume server on SeaweedFS. In Garage, all buckets are spread on the whole cluster. So you do not have to worry that your bucket fills one of your volume server.<p>- Garage works better in presence of crashes: I would be very interested by a deep analysis of Seaweed "automatic master failover". They use Raft, I suppose either by running an healthcheck every second which lead to data loss on a crash, or sending a request for each transaction, which creates a huge bottleneck in their design.<p>- Better scalability: because there is no special node, there is no bottlenecks. I suppose that with SeaweedFS, all the requests have to pass through the master. We do not have such limitations.<p>As a conclusion, we choose a radically different design with Garage. We plan to do a more in-depth comparison in the future, but even today, I can say that if we implement the same API, our radically different designs lead to radically different properties and trade-off.</p>
]]></description><pubDate>Tue, 08 Feb 2022 11:01:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=30257041</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=30257041</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30257041</guid></item><item><title><![CDATA[New comment by superboum in "I found a loophole to prevent those pesky cookie notices"]]></title><description><![CDATA[
<p>I find the way the article is written interesting. 
Indeed, the title is misleading and you will learn nothing on the technical part.
However, the idea here is to be vocal about what society we want.<p>The goal is to say, as an individual:<p><pre><code>  - I am not ok anymore that so much sensitive data are collected
  - I know data collection had negative impacts on individuals and society      
  - I can, and we should live without collecting so much data    
  - Individuals and society should come before companies    
</code></pre>
And I definitely relate...</p>
]]></description><pubDate>Thu, 27 Feb 2020 13:51:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=22433186</link><dc:creator>superboum</dc:creator><comments>https://news.ycombinator.com/item?id=22433186</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22433186</guid></item></channel></rss>