logo

blog

My website can't be that messy, right? git clone https://hacktivis.me/git/blog.git
commit: 6c413ca647ea7a1130ef41c7dac99be862367646
parent e88ce336c4cf2a6bcee0cd26d2ec974bd677e1b6
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Fri,  7 Apr 2023 18:21:38 +0200

articles: Remove XSL output

post-update.build exists and seems to be working like a charm.

Diffstat:

Darticles/2022 Summary.html100-------------------------------------------------------------------------------
Darticles/Why I embraced Wayland.html104-------------------------------------------------------------------------------
Darticles/cve.org-disaster.html67-------------------------------------------------------------------
Darticles/self-hosting.html113-------------------------------------------------------------------------------
4 files changed, 0 insertions(+), 384 deletions(-)

diff --git a/articles/2022 Summary.html b/articles/2022 Summary.html @@ -1,100 +0,0 @@ -<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xi="http://www.w3.org/2001/XInclude" xml:lang="en" lang="en"> - <head> - <meta charset="utf-8"/><link rel="stylesheet" type="text/css" href="/css/index.css?serial=2023040701"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="vcs-git" href="https://gitlab.com/lanodan/blog.git" title="gitlab"/><link rel="icon" type="text/css" href="/images/favicon.png?serial=2020111201"/><meta property="og:image" content="/images/avatar.png?serial=2020111201"/> - <meta property="og:type" content="article"/> - <meta property="og:title" content="2022 Summary"/> - <title>2022 Summary - lanodan's cyber-home</title> - </head> - <body> - - <header>Sorry, I do not value($$$) your privacy. :^) — <a href="/privacy%20policy">Privacy Policy</a></header> - <nav><details open=""> - <summary>Links</summary> - <ul> - <li><a href="/home">Home</a></li> - <li><a href="/about">About</a></li> - <li><a href="/projects/">Software Projects</a></li> - <li><a href="/animelist">Anime List</a></li> - <li><a href="/mangalist">Manga List</a></li> - <li><a href="/bookmarks">Bookmarks</a></li> - <li><a href="/coding%20style">coding style</a></li> - <li><a href="/decreases%20of%20usability">Decreases of usability</a></li> - <li><a href="/software%20basic%20needs">Software basic requirements</a></li> - <li><a href="/recaptcha">Google ReCaptcha</a></li> - <li><a href="/git/">/git/</a></li> - <li><a href="/kopimi/">/kopimi/</a>: libre data</li> - <li><a href="/librism">Désintox’ / FOSS activism</a></li> - <li><a href="/notes/">/notes/</a></li> - <li><a href="/standards">standards</a>: opinions on them</li> - </ul> - <ul> - <li><a rel="alternate" type="application/atom+xml" href="https://hacktivis.me/feed.atom">Atom feed</a></li> - <li><a href="gemini://hacktivis.me/">gemini-space</a></li> - <li><a href="https://lanodan.eu/home">Resume</a></li> - </ul> - </details></nav> - - <article> - <div xml:lang="en" lang="en" class="h-entry"> -<a href="/articles/2022%20Summary"><h1>2022 Summary</h1></a> -<p> - Here's an incomplete summary of what I did in 2022 that I want to highlight. Notably absent are the various one-off contributions that are typically bugfixes and package maintenance in Alpine and Gentoo. -</p> - -<h2>Pleroma</h2> -<p> - Start of the year was a mess, I left the project because of <a href="https://hacktivis.me/articles/Update%20on%20Pleroma%20Maintainance">Alex Gleason's behavior</a>, tried to do a fork that was quite a failure. But HJ regrouped most of us back to Pleroma with also having contacted lain (owner of the project), Alex Gleason got demoted so we went back to Pleroma. Later he got banned from the project's Gitlab for harassing a contributor.<br/> - This whole thing burned me out, I'm glad some people joined, specially tusooa who allowed me to lay back and heal while still guiding her and other contributors. Doing a new branch release took time, partially because we didn't want to simply revert Alex Gleason's controversial modification of granting a lot of power to moderators but instead to make it granular, which took time. But we got <a href="https://pleroma.social/announcements/2022/12/23/pleroma-release-2.5.0/">2.5.0 released on December 23</a>.<br/> - Would recommend checking out <a href="https://ebin.club/hj-blog/tags/pleroma/">HJ's blog posts about Pleroma</a> if you want more information. -</p> - -<h2>Hare</h2> -<p> - <a href="https://harelang.org/">Hare</a> is a system programming language that got released to the public in early 2022. I would recommend trying it out, for me it ended up replacing Go and most of C (note: badwolf will stay in C, I strongly avoid bindings). - I contributed some simple bits here and there to the standard library and tools: - <ul> - <li><a href="https://git.sr.ht/~sircmpwn/hare/commit/9f2a23b73fce3f0175de54939ad59655e9414fca">math: make absi* functions return an unsigned integer</a></li> - <li><a href="https://git.sr.ht/~sircmpwn/hare/commit/1ac8e33e5a1d133f66d7aefab106a1f848f79eab">cmd/haredoc: Fix default HAREPATH</a></li> - <li><a href="https://git.sr.ht/~sircmpwn/hare/commit/e295c34bda59ac3d22c2e971f5ab838578277228">strings: Fix dupall segfaulting on empty array</a></li> - <li><a href="https://lists.sr.ht/~sircmpwn/hare-dev/patches/32032">cmd/hare: Do not set progress width to 0</a></li> - <li><a href="https://lists.sr.ht/~sircmpwn/hare-dev/patches/32050">fs: Fix wrong bitmask for filetype test functions</a></li> - <li><a href="https://git.sr.ht/~sircmpwn/hare/commit/0495f2ed4d921ad2c7dfffab19295c88a72a7765">os/exec: Make setenv return errors::invalid instead of aborting</a></li> - <li><a href="https://git.sr.ht/~sircmpwn/hare/commit/1989e4a86d25e85aa548d84f68dbfa6c67315e84">os::exec: Add unsetenv function</a></li> - <li><a href="https://lists.sr.ht/~sircmpwn/hare-dev/patches/33156">datetime: Fix parsing nanoseconds</a></li> - <li><a href="https://lists.sr.ht/~sircmpwn/hare-dev/patches/33160">datetime: Add support for parsing timezone offset</a></li> - <li><a href="https://lists.sr.ht/~sircmpwn/hare-dev/patches/33567">stdlib: Fix format::tar dependencies</a></li> - <li><a href="https://lists.sr.ht/~sircmpwn/hare-dev/patches/34377">datetime: Add %F and %T to format</a></li> - <li><a href="https://lists.sr.ht/~sircmpwn/hare-dev/patches/34962">strings/template: Give the missing parameter name in the error</a></li> - <li><a href="https://lists.sr.ht/~sircmpwn/hare-dev/patches/37390">net/uri: Acknowledge the different allowed characters + net/uri: Fix decoding multi-byte percent-data + net/uri/+test: Use wanted/got wrapping for all str assertions</a></li> - </ul> - And the hare-wayland library + tools: <a href="https://lists.sr.ht/~sircmpwn/public-inbox/patches/37165">Makefile: Add `check` target + cmd/scanner: Use strings::template and merge interface+request+event</a>. -</p> -<p> - I switched <a href="https://hacktivis.me/git/go-deblob/">go-deblob</a>, a tool to remove binary executable files, to an <a href="https://git.sr.ht/~lanodan/deblob">hare version</a>, which made it much more lightweight (Go binaries are huge) and probably much less bugged. - Compared to the Go version which only detects ELF and IBM BIOS files, it got much more complete coverage of native executables, bytecode, and serialization formats that can lead to code execution (Perl Storage, Python pickle). -</p> -<p> - <a href="https://git.sr.ht/~lanodan/bsyslogd">bsyslogd</a> is a not-yet-working syslog daemon I started a bit after realizing that syslog implementations out there are either log4j-like kitchen sinks with thousands of integrated native modules while typically running as root, or are too limited in how they store logs. Sadly it stalled after some months but I still plan to resume it. -</p> - -<h2>New website pages</h2> -<ul> - <li><a href="/projects/">/projects/</a>: Lists some important projects in one place</li> - <li><a href="/notes/bootstrapping">/notes/bootstrapping</a>: Similarly to <a href="/notes/pure-wayland">/notes/pure-wayland</a>. Here, I note the problems encountered and the current status of trying to have as much software build entirely from source.</li> -</ul> -</div> - <p> - <a href="https://queer.hacktivis.me/objects/50be9d37-dee6-4c69-818e-013fa3b010d0" rel="replies external">Fediverse post for comments</a>, published on 2022-12-30T13:00:00Z, last updated on 2022-12-30T13:00:00Z - </p> - </article> - <footer> - <a href="http://endsoftpatents.org/innovating-without-patents"><img loading="lazy" src="/images/patent_free.png?serial=2020111201" alt="Patent Free"/></a> - <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img loading="lazy" alt="CC-BY-SA" src="/images/cc-by-sa.png?serial=2020111201"/></a> - <a href="/anybrowser"><img loading="lazy" src="/images/anybrowser.png?serial=2020111201" alt="Anybrowser campaign"/></a> - <a href="http://tstzmgqansvqfzr3qrkehszmlhjqbpqp7pwncrzr72ohyygrnbuu26qd.onion/">.onion</a> - <a href="/privacy%20policy">Privacy Policy</a>(2019-11-27) - This webthing agrees that <a href="https://simpleweb.iscute.ovh/">simple web is cute</a>~ ♥ - </footer> - </body> -</html> diff --git a/articles/Why I embraced Wayland.html b/articles/Why I embraced Wayland.html @@ -1,104 +0,0 @@ -<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xi="http://www.w3.org/2001/XInclude" xml:lang="en" lang="en"> - <head> - <meta charset="utf-8"/><link rel="stylesheet" type="text/css" href="/css/index.css?serial=2023040701"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="vcs-git" href="https://gitlab.com/lanodan/blog.git" title="gitlab"/><link rel="icon" type="text/css" href="/images/favicon.png?serial=2020111201"/><meta property="og:image" content="/images/avatar.png?serial=2020111201"/> - <meta property="og:type" content="article"/> - <meta property="og:title" content="Why I embraced Wayland"/> - <title>Why I embraced Wayland - lanodan's cyber-home</title> - </head> - <body> - - <header>Sorry, I do not value($$$) your privacy. :^) — <a href="/privacy%20policy">Privacy Policy</a></header> - <nav><details open=""> - <summary>Links</summary> - <ul> - <li><a href="/home">Home</a></li> - <li><a href="/about">About</a></li> - <li><a href="/projects/">Software Projects</a></li> - <li><a href="/animelist">Anime List</a></li> - <li><a href="/mangalist">Manga List</a></li> - <li><a href="/bookmarks">Bookmarks</a></li> - <li><a href="/coding%20style">coding style</a></li> - <li><a href="/decreases%20of%20usability">Decreases of usability</a></li> - <li><a href="/software%20basic%20needs">Software basic requirements</a></li> - <li><a href="/recaptcha">Google ReCaptcha</a></li> - <li><a href="/git/">/git/</a></li> - <li><a href="/kopimi/">/kopimi/</a>: libre data</li> - <li><a href="/librism">Désintox’ / FOSS activism</a></li> - <li><a href="/notes/">/notes/</a></li> - <li><a href="/standards">standards</a>: opinions on them</li> - </ul> - <ul> - <li><a rel="alternate" type="application/atom+xml" href="https://hacktivis.me/feed.atom">Atom feed</a></li> - <li><a href="gemini://hacktivis.me/">gemini-space</a></li> - <li><a href="https://lanodan.eu/home">Resume</a></li> - </ul> - </details></nav> - - <article> - <div xml:lang="en" lang="en" class="h-entry"> -<a href="/articles/Why%20I%20embraced%20Wayland"><h1>Why I embraced Wayland</h1></a> -<p>Some of the folks that knew me from around 2014 know that I wasn't impressed with Wayland and really didn't see the point of it. X11 worked well enough for me and I didn't want to switch to something else, it felt like reinventing new stuff just for the sake of it to me (like systemd and pulseaudio; the fuck are those doing on freedesktop.org in the first place…). And I disagreed quite badly on it, sorry for folks related to wayland. Hopefully less and less folks will do this "politically conversative" opinion and actually wonder about the reasonings.</p> -<figure> - <img src="/images/Firefox%20overlaying%20st%20on%20my%20laptop.png"/> - <figcaption>Screenshot of firefox chunks ghosting over the terminal on my NVidia laptop running on XOrg</figcaption> -</figure> -<p>The motivation was because using X11/XOrg (specially with NVidia) gave me some years of: -<ul> - <li>applications like Firefox shitting all over the desktop at times, leaving ghosted areas;</li> - <li>all applications being able to send any and receive all keyboard+mouse input with no real solution against that (I know XTerm has some option to steal all keyboard input, didn't work for me);</li> - <li>non-orthogonality of input device settings; XOrg allows to have a different settings on each and would require managing hotplug events but XOrg tools (<code>setxkbmap(1)</code>, <code>xmodmap(1)</code>, …) are done for a display server that would support only one layout setting and manage events by itself</li> - <li>display configuration hell, I know how to use <code>xrandr(1)</code> for some arcane things now (including trashing the concept of VTs, thanks linux) but what a mess and of course no support for hotplugging (which is a mess unless you use a tiling window manager like XMonad);</li> - <li>normal applications being able to trash your setup (ie. multi-monitor to a single display at 640x480) and no restoring if they crash down or don't care;</li> - <li>applications often behaving weirdly when a tiling window manager resizes them automatically;</li> - <li>still having this software-gore bug where moving a window on top of another leaves some of it frames behind, I love having that bug after 2020 when it should have been fixed well before 2010;</li> - <li>some games window just disappearing a bit after initialization (spawns a blank window and immediately goes away), probably related to a missing quirk/extension but haven't found wtf was happening;</li> - <li><a href="https://www.jwz.org/xscreensaver/faq.html">An absolute horror for even just basic screen locking/saving</a>.</li> -</ul></p> -<p> - And that made me just done with X11 and it's design of being similar to a Unix where everyone is root… so basically not a Unix. <q>If you find yourself saying that X is the Unix way: What one thing is X doing and what is it doing well?</q><cite>Daniel Stone</cite><br/> - By the way, if you're that kind of people which is like "X11/Xorg never threw me a bug" you're likely just ignoring the elephant in the room in the first place or not seeing it as a bug (this is why I usually don't care about statements like "$thing just works for me" and "$thing never broke for me", there is high chances of it being delusional or clueless).<br/> - Plus with <em>actually informing myself about the wayland protocol design</em> rather than just seeing that you can rotate windows in weston (which is labelled a reference compositor but should be taken as a demo) and that GNOME is doing it's normal thing of trashing everything in it's way, specially good things <a href="https://www.jwz.org/doc/cadt.html">like an awful teenager</a>. -</p> -<p> - But at some point I gave <a href="https://swaywm.org">Sway</a> an honest try on my NoVidya-plagued laptop, the one where the screenshot at the begining of this article comes from and I actually ended up with less bugs, it was still a mess because of NVidia having trashed the proprietary driver so much that nouveau, an open-source garage-hacker alternative that they're unfriendly with worked better, you know the adage: Fuck You NVidia.<br/> - At least now that I replaced that badly aged laptop (Spectre/Meltdown was the final blow) with <a href="/articles/T495">a full-AMD one</a> (yay, no proprietary drivers), I don't have X11 kind of issues nor NoVidya kind of issues.<br/> - Oh and my phone already was using Wayland (in fact it doesn't have X11) since 2015~2016 as I switched to SailfishOS because Android is a system that loves to trash itself. I maybe just didn't knew or ignored that fact as it's not as desktop/laptop. Wayland works really well on it btw, and X11 never made sense to me on handhelds, which is yet another point for Wayland. -</p> -<p>All that said:<ul> - <li>I have yet to fully switch to wayland on my desktop, mostly because of quirky things like some games (they are really the worst…) and of course <abbr title="Virtual Reality">VR</abbr> is quite alpha but has the potential to work really well but so far the patches got a bit stuck. Launching Xorg for VR is good enough for now (but it's very unstable);</li> - <li>XWayland works well if I need to launch an X11 application, much better than stuff like Xephyr where it always failed with my keyboard layout;</li> - <li>I have done the quite crazy thing of throwing all of X11 (including things like <code>libX11.so</code>) out on my laptop, it means a lack of some applications and some weird shenanigans, like having to replace <code>libGL.so</code>(OpenGL linked with X11) with <code>libOpenGL.so</code>(window-system-agnostic) but sadly it's from <abbr title="GL Vendor-Neutral">GLVND</abbr> which has yet to appear on systems like FreeBSD so it's messy in some buildsystems. But overall it works pretty nicely;</li> - <li>I have yet to resume working on <a href="/git/inaban">inaban</a>, a quite psychorigid wayland compositor for controlling applications behavior (so quite the complete opoosite of X11);</li> - <li>I do not expect GNOME and related projects to actually do software/standards one can trully depend on, I'd much rather bet on one of their software having a critical bug than not having one;</li> - <li>I barely care for proprietary software;</li> - <li>Do not expect your NoVidya hardware to work well; NVidia® is almost hostile to Linux and they're the responsible ones; be careful on picking your hardware, everyone doesn't have to support your choices.</li> -</ul></p> -<h2>See More</h2> -<ol> - <li><a href="https://drewdevault.com/2019/02/10/Wayland-misconceptions-debunked.html">Wayland misconceptions debunked</a></li> - <li><a href="https://www.youtube.com/watch?v=HllUoT_WE7Y">"Write a single library to handle all input devices, it'll be easy" they said…</a> (46 minutes 53 seconds): Talk about a linux-induced burden but relates a bit to Wayland on Linux and FreeBSD</li> - <li><a href="https://www.youtube.com/watch?v=RIctzAQOe44">The Real Story Behind Wayland and X - Daniel Stone (linux.conf.au 2013)</a> (45 minutes 34 seconds)</li> - <li><a href="https://github.com/swaywm/wlroots">wlroots</a>: Pluggable, composable, unopinionated modules for building a Wayland compositor; or about 50,000 lines of code you were going to write anyway.</li> - <li><a href="https://swaywm.org">sway</a>: i3-compatible (with few extras) Wayland Compositor</li> - <li><a href="https://git.sr.ht/~sircmpwn/wio">wio</a>: Wayland compositor for Linux &amp; FreeBSD which has a similar look &amp; feel to plan9's rio</li> - <li><a href="https://hikari.acmelabs.space/">hikari</a>: Wayland compositor inspired by CWM</li> - <li><a href="https://wayland-book.com/">Wayland Book</a> by Drew DeVault</li> -</ol> -<p>And yeah a lot of that list is linked to wlroots, feel free to pass on links from others, I know MATE is planning to switch to Wayland but it's still mostly for the future and I don't know how well wayland works in KDE (hopefully quite well).</p> -<p>Note: I usually read replies to my articles but I'm not going to bother if you're going to just throw the typical clueless wayland-hater bile one can see on internet. I will probably answer honest questions though. Hopefully that will save some people's energy and time.</p> -</div> - <p> - <a href="https://queer.hacktivis.me/objects/db4f70f5-7186-43ce-a350-e0e8d332bfb9" rel="replies external">Fediverse post for comments</a>, published on 2021-03-07T00:35:00Z, last updated on 2021-03-08T02:55:00Z - </p> - </article> - <footer> - <a href="http://endsoftpatents.org/innovating-without-patents"><img loading="lazy" src="/images/patent_free.png?serial=2020111201" alt="Patent Free"/></a> - <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img loading="lazy" alt="CC-BY-SA" src="/images/cc-by-sa.png?serial=2020111201"/></a> - <a href="/anybrowser"><img loading="lazy" src="/images/anybrowser.png?serial=2020111201" alt="Anybrowser campaign"/></a> - <a href="http://tstzmgqansvqfzr3qrkehszmlhjqbpqp7pwncrzr72ohyygrnbuu26qd.onion/">.onion</a> - <a href="/privacy%20policy">Privacy Policy</a>(2019-11-27) - This webthing agrees that <a href="https://simpleweb.iscute.ovh/">simple web is cute</a>~ ♥ - </footer> - </body> -</html> diff --git a/articles/cve.org-disaster.html b/articles/cve.org-disaster.html @@ -1,67 +0,0 @@ -<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xi="http://www.w3.org/2001/XInclude" xml:lang="en" lang="en"> - <head> - <meta charset="utf-8"/><link rel="stylesheet" type="text/css" href="/css/index.css?serial=2023040701"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="vcs-git" href="https://gitlab.com/lanodan/blog.git" title="gitlab"/><link rel="icon" type="text/css" href="/images/favicon.png?serial=2020111201"/><meta property="og:image" content="/images/avatar.png?serial=2020111201"/> - <meta property="og:type" content="article"/> - <meta property="og:title" content="The new CVE.org website is a security disaster so I made my own"/> - <title>The new CVE.org website is a security disaster so I made my own - lanodan's cyber-home</title> - </head> - <body> - - <header>Sorry, I do not value($$$) your privacy. :^) — <a href="/privacy%20policy">Privacy Policy</a></header> - <nav><details open=""> - <summary>Links</summary> - <ul> - <li><a href="/home">Home</a></li> - <li><a href="/about">About</a></li> - <li><a href="/projects/">Software Projects</a></li> - <li><a href="/animelist">Anime List</a></li> - <li><a href="/mangalist">Manga List</a></li> - <li><a href="/bookmarks">Bookmarks</a></li> - <li><a href="/coding%20style">coding style</a></li> - <li><a href="/decreases%20of%20usability">Decreases of usability</a></li> - <li><a href="/software%20basic%20needs">Software basic requirements</a></li> - <li><a href="/recaptcha">Google ReCaptcha</a></li> - <li><a href="/git/">/git/</a></li> - <li><a href="/kopimi/">/kopimi/</a>: libre data</li> - <li><a href="/librism">Désintox’ / FOSS activism</a></li> - <li><a href="/notes/">/notes/</a></li> - <li><a href="/standards">standards</a>: opinions on them</li> - </ul> - <ul> - <li><a rel="alternate" type="application/atom+xml" href="https://hacktivis.me/feed.atom">Atom feed</a></li> - <li><a href="gemini://hacktivis.me/">gemini-space</a></li> - <li><a href="https://lanodan.eu/home">Resume</a></li> - </ul> - </details></nav> - - <article> - <div xml:lang="en"> -<a href="/articles/cve.org-disaster"><h1>The new CVE.org website is a security disaster so I made my own</h1></a> -<p> - <code>cve.mitre.org</code>, the <a href="https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures">CVE</a> database website I was using instead of NIST's website to avoid a bit of JavaScript started showing <q>NOTICE: CVE website transitioning to new “CVE.ORG” web address. Process to begin in late September 2021 and last one year. (<a href="http://cve.mitre.org/news/archives/2021/news.html#September022021_CVE_Website_Transitioning_to_New_Web_Address_-_CVE.ORG">details</a>)</q> some time ago and I actually tried cve.org few times only to be welcomed by an apprently blank page, fine sure, not deployed yet I guessed. I couldn't be more wrong, I got a more curious look at it today and I noticed it requires JavaScript and by JavaScript I mean an epic disaster.<br/> - I mean, just look at <a href="https://github.com/CVEProject/cve-website/pulls?q=is%3Apr+security">the security-related Pull Requests on it's github repo</a>. -</p> -<p> - And even if there wasn't security issues in their new website, requiring Automatic &amp; Unverified Remote Code to be executed on people's machine for getting security information? What is wrong with you? Do I need to make you assign a <abbr title="Common Vulnerability Scoring System">CVSS</abbr> on this thing? -</p> -<p> - As I'd rather not sit idly while this shit seems to be coming, I made <a href="https://hacktivis.me/git/cve-client/">cve-client</a>, a simple script in almost dependency-less perl. It takes a CVE-ID, fetches the JSON for it from their API (haven't found a documentation for it btw) and renders it to plain-text but also Gemtext, the format used by the <a href="https://gemini.circumlunar.space/">Gemini protocol</a>, this way I could make it available for others without having to use my code and they very likely aren't going to receive malware in the process.<br/> - I made the gemini interface available at <a href="gemini://hacktivis.me/cgi-bin/cve">gemini://hacktivis.me/cgi-bin/cve</a>, feel free to make copies<br/> - I will maybe make an HTTP version of this at some point so it doesn't only runs on my own disaster-looking gemini-server (stunnel + shell script), which I still have much more confidence in than most of the web. -</p> -</div> - <p> - <a href="https://queer.hacktivis.me/objects/cc3a9571-23ae-4c0a-9067-bd2c49133271" rel="replies external">Fediverse post for comments</a>, published on 2021-10-02T21:26:57Z, last updated on 2021-10-02T21:26:57Z - </p> - </article> - <footer> - <a href="http://endsoftpatents.org/innovating-without-patents"><img loading="lazy" src="/images/patent_free.png?serial=2020111201" alt="Patent Free"/></a> - <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img loading="lazy" alt="CC-BY-SA" src="/images/cc-by-sa.png?serial=2020111201"/></a> - <a href="/anybrowser"><img loading="lazy" src="/images/anybrowser.png?serial=2020111201" alt="Anybrowser campaign"/></a> - <a href="http://tstzmgqansvqfzr3qrkehszmlhjqbpqp7pwncrzr72ohyygrnbuu26qd.onion/">.onion</a> - <a href="/privacy%20policy">Privacy Policy</a>(2019-11-27) - This webthing agrees that <a href="https://simpleweb.iscute.ovh/">simple web is cute</a>~ ♥ - </footer> - </body> -</html> diff --git a/articles/self-hosting.html b/articles/self-hosting.html @@ -1,113 +0,0 @@ -<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xi="http://www.w3.org/2001/XInclude" xml:lang="en" lang="en"> - <head> - <meta charset="utf-8"/><link rel="stylesheet" type="text/css" href="/css/index.css?serial=2023040701"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="vcs-git" href="https://gitlab.com/lanodan/blog.git" title="gitlab"/><link rel="icon" type="text/css" href="/images/favicon.png?serial=2020111201"/><meta property="og:image" content="/images/avatar.png?serial=2020111201"/> - <meta property="og:type" content="article"/> - <meta property="og:title" content="Some tips/opinions about self-hosting"/> - <title>Some tips/opinions about self-hosting - lanodan's cyber-home</title> - </head> - <body> - - <header>Sorry, I do not value($$$) your privacy. :^) — <a href="/privacy%20policy">Privacy Policy</a></header> - <nav><details open=""> - <summary>Links</summary> - <ul> - <li><a href="/home">Home</a></li> - <li><a href="/about">About</a></li> - <li><a href="/projects/">Software Projects</a></li> - <li><a href="/animelist">Anime List</a></li> - <li><a href="/mangalist">Manga List</a></li> - <li><a href="/bookmarks">Bookmarks</a></li> - <li><a href="/coding%20style">coding style</a></li> - <li><a href="/decreases%20of%20usability">Decreases of usability</a></li> - <li><a href="/software%20basic%20needs">Software basic requirements</a></li> - <li><a href="/recaptcha">Google ReCaptcha</a></li> - <li><a href="/git/">/git/</a></li> - <li><a href="/kopimi/">/kopimi/</a>: libre data</li> - <li><a href="/librism">Désintox’ / FOSS activism</a></li> - <li><a href="/notes/">/notes/</a></li> - <li><a href="/standards">standards</a>: opinions on them</li> - </ul> - <ul> - <li><a rel="alternate" type="application/atom+xml" href="https://hacktivis.me/feed.atom">Atom feed</a></li> - <li><a href="gemini://hacktivis.me/">gemini-space</a></li> - <li><a href="https://lanodan.eu/home">Resume</a></li> - </ul> - </details></nav> - - <article> - <div xml:lang="en"> -<a href="/articles/self-hosting"><h1>Some tips/opinions about self-hosting</h1></a> -<p> - I've started self-hosting in 2012 because I wanted to put my own stuff on the internet without depending on some garbage-of-the-day gratis service and renting an extra machine (managed or not) didn't make sense, specially back when I was a minor.<br/> - Here is some tips/opinions about how to do it and avoid getting in the same issues as me and definitely others. -</p> - -<h2>It doesn't matters if it's down for the others, make it for yourself first</h2> -<p> - I used to care more than I should about uptime, after all it's the most important thing when you host services, right? Well, no. - When self-hosting you should just prioritize having it as reachable and as reliable as you actually need. A human probably only has 60% of uptime, they sleep.<br/> - If you want something with more uptime see with friends with other sleep rythms, if you want something close to 99% of uptime you don't want self-hosting. -</p> - -<h2>Put some redundancy on your disks; Automate the backups; prefer to edit locally and push</h2> -<p>This is likely the most ignored thing ever in premade self-hosting setups I see around on the internet.</p> -<p> - You need to mirror the disks holding data that you need constantly enough that you don't want to loose access to it for a long period of time (many hours, easily multiple days), typically that's the operating system and related software, the databases, the served data, … - Typically you should use sofware raid solutions with reliability in mind like ZFS there. -</p> -<p> - You need to automate the backups, I tend to go with cron, shell scripts and rsync or tar and avoid turn-key solutions like borgbackup like the plague because of their lack of standardization/ubiquity, which helps for data recovery.<br/> -</p> -<p>On that topic there there is two ways to do backups to another machine, pushing or pulling: -<ul> - <li>pushing allows to avoid giving administation rights to the backup machine, which needs to be trusted but when this is done shouldn't be internet-facing;</li> - <li>pulling allows to run everything with the least administration rights and can allow to use a less trusted machine, specially with using some encryption (be careful of the solution used there though, it needs to be reliable)</li> -</ul> -</p> -<p> - A very easy and efficient way to avoid having to do extra backups is to edit data locally under version control (ie. git) and push to the server for updates. This way you always have an extra copy and it allows to work offline. -</p> - -<h2>Avoid SBCs (ie. RaspberryPi) and prefer PCs</h2> -<p>Yet another thing where premade self-hosting setups tend to fail.</p> -<p> - In their their generic sense, for example here a Sun Workstation or a Mac is a PC. PCs offers easy repairability and extensability. - If I need more SATA ports or more USB ports on a PC without sacrifying speed I can put a PCI(e) card, the available boards also have much more ports to begin with. This also goes with the disk redundancy part, you'll want at least 2 large storage units -</p> -<p> - This also allows to boot on a standard operating system, so you don't need to grab an obscure operating system or one where you have to do compromises for installation or recovery, the usual ones just work. - Which also means that you can swap-out the disks to a regular computer if some of your hosting hardware broke. -</p> -<p> - I think the best premade self-hosting machine would be something similar to a NAS where if it's non-x86 it should still have the ability to boot a generic image. -</p> - -<h2>It's a private service in your own space, you don't have to let everyone in</h2> -<p> - One thing you might have to learn the hard way when providing services is saying no on giving power (admin, moderation) to some people, well it's like in politics, don't give power to the ones asking for it. - Give them to the ones that aren't asking it and have no reason to not have it. - Transparency and Honesty (even when blunt) are nice things to have, this avoids a lot of drama. -</p> - -<h2>The internet and its crowd are chaos incarnate</h2> -<p> - Don't try to regulate everything that comes in, specially in terms of politics, behavior or moderations. Either you let no one but yourself write content (this is why my blog doesn't and never will have comments) or you have to let go of some space for the chaos to happen.<br/> - Moderating all the content which comes in is hard and a good example is spam in emails, there is always some nasty ones which manage to get in.<br/> - Chaos will always be there, acknowledge it's existance or be prepared for things to not go your way. -</p> -</div> - <p> - <a href="https://queer.hacktivis.me/objects/7bb0bd82-a128-4797-af41-0c5eed4d37eb" rel="replies external">Fediverse post for comments</a>, published on 2021-04-07T21:11:12Z, last updated on 2021-04-07T21:20:10Z - </p> - </article> - <footer> - <a href="http://endsoftpatents.org/innovating-without-patents"><img loading="lazy" src="/images/patent_free.png?serial=2020111201" alt="Patent Free"/></a> - <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img loading="lazy" alt="CC-BY-SA" src="/images/cc-by-sa.png?serial=2020111201"/></a> - <a href="/anybrowser"><img loading="lazy" src="/images/anybrowser.png?serial=2020111201" alt="Anybrowser campaign"/></a> - <a href="http://tstzmgqansvqfzr3qrkehszmlhjqbpqp7pwncrzr72ohyygrnbuu26qd.onion/">.onion</a> - <a href="/privacy%20policy">Privacy Policy</a>(2019-11-27) - This webthing agrees that <a href="https://simpleweb.iscute.ovh/">simple web is cute</a>~ ♥ - </footer> - </body> -</html>