started drafting the maintainers tutorial + edited the other ones relating to contributions

This commit is contained in:
nihilist 2025-03-22 23:00:47 +01:00
parent 6cc4e98340
commit 8f33f954b7
31 changed files with 1905 additions and 834 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

BIN
opsec/contribute/63.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 533 KiB

View file

@ -121,8 +121,10 @@ To be showcased:
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2>How to contribute new tutorials</h2>
<!--<p>Now you first need to sign up on gitea, if you want to maintain your anonymity feel free to get yourself a mailbox anonymously such as signing up on <a href="https://account.proton.me/mail/signup">protonmail</a> using the tor browser. and then use that email to sign up onto <a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/user/sign_up">gitea</a> aswell. If you don't want to do either of those things, just <a href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FBD4qkVq8lJUgjHt0kUaxeQBYsKaxDejeecxm6-2vOwI%3D%40b6geeakpwskovltbesvy3b6ah3ewxfmnhnshojndmpp7wcv2df7bnead.onion%2FpyfV2wlxrcepw8g2OHINsMNuVmpsZsAo%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAgePBM9B_duSC7yFaBWI8Dp_jJO62NpTwJN2wsAXeQis%253D&data=%7B%22groupLinkId%22%3A%22rrxS6sZIQHHjO9RUJsjrVA%3D%3D%22%7D">ping me directly on SimpleX</a> so that i create your account manually.</p>-->
<p>Now you first need to sign up on gitea, just <a href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FBD4qkVq8lJUgjHt0kUaxeQBYsKaxDejeecxm6-2vOwI%3D%40b6geeakpwskovltbesvy3b6ah3ewxfmnhnshojndmpp7wcv2df7bnead.onion%2FpyfV2wlxrcepw8g2OHINsMNuVmpsZsAo%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAgePBM9B_duSC7yFaBWI8Dp_jJO62NpTwJN2wsAXeQis%253D&data=%7B%22groupLinkId%22%3A%22rrxS6sZIQHHjO9RUJsjrVA%3D%3D%22%7D">ping me directly on SimpleX</a> so that i create your account manually.</p>
<img src="../maintainers/1.png" class="imgRz">
<p>From here you'll also get to join the Contributors private chatroom where we brainstorm new contributions, formulate todolists, assign those todolists to contributors like you, and review those contributions:</p>
<img src="63.png" class="imgRz">
<!--<img src="6.png" class="imgRz">
<img src="6.5.png" class="imgRz">
<img src="7.png" class="imgRz">
@ -348,174 +350,13 @@ Writing objects: 100% (5/5), 432 bytes | 432.00 KiB/s, done.
<img src="18.png" class="imgRz">
<p>Then wait for me to confirm the content is complete, and then i'll accept the pull request and merge it into the main repository.</p>
<img src="19.png" class="imgRz">
<p><u>Warning:</u> your contribution is supposed to follow <a href="../qualitystandard/index.html">the quality standard</a>, if your contribution doesn't follow the quality standard closely, we're going to keep refusing your contribution until you make it good enough to be acceptable. </p>
<p>If you intend on becoming <a href="../maintainers/index.html">a maintainer</a> you need to keep submitting contributions that are at least 95% completed each time. The worst you could do is submit a contribution that is 30% completed and waste our time with a tedious reviewing process (which will force us to stop accepting contributions coming from you aswell, if it keeps happening), We'll tolerate it if that's your first contribution, but you should strive to improve your writing skills with each new contribution that you submit. <b>The best contributors (which are fit to become maintainers) are supposed to send nearly completed contributions upon the first review.</b>. </p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /grey -->
<!-- +++++ Second Post +++++ -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2>The Quality Standard</h2>
<p>In order to make sure the content isn't rushed and the quality of the blog overall remains high, we have the following quality standard:</p>
<img src="50.png" class="imgRz">
<p>Rather than writing a gigantic wall of text and loose you halfway, as you can see i made a graph. This is the most effective way of conveying your ideas to your audience, so don't hesitate to make graphs using drawio (with colors preferably) instead of writing walls of text that nobody will read.</p>
<p>First of all, the general structure of the content is with the <b>Why / What / How methodology</b> This following the minimalistic style where everything that is used and mentionned must be justified. (Everything that has no justification to be there, is to simply be removed.)</p>
<ol>
<li><p><b>Why should I care ?</p></b></li>
<li><p><b>What are my options ?</p></b></li>
<li><p><b>How can i implement it ?</p></b></li>
</ol>
<p>Nobody cares about your message until you tell them <b>why they should care.</b> Usually that goes by telling them a short story that they can relate to, in our case it's an opsec scenario that explains what an adversary can do against you.</p>
<p><b>The blog is structured around 3 core scenarios:</b></p>
<ol>
<li><p><u>Privacy:</u> The adversary can see you do something, how can you prevent it ?</p></li>
<li><p><u>Anonymity:</u> The adversary knows that it's you who did it, how can you prevent it ?</p></li>
<li><p><u>Deniability:</u> The adversary busts down your door, and forces you to open your devices, how can you make sure he doesn't find anything in there ?</p></li>
</ol>
<p><b>If the scenario of your contribution doesn't fit into (or serve a purpose for) one of those 3, it's most likely off-topic.</b></p>
<pre><code class="nim">
Context: In your house, in your bedroom, if there are windows to look outside
Situation: the annoying neighbor always stops by to look at what you're doing in your bedroom
Are you ok with this situation ?
</pre></code>
<p>So you told your story to highlight the problem, the reader understands that they want privacy. Now you need to tell them the what, <b>what are their options ?</b></p>
<pre><code class="nim">
You have a few options to prevent your annoying neighbor from seeing what you're doing in your bedroom:
1) get rid of all windows and have a house with only walls : expensive
2) install curtains on your windows : inexpensive
</pre></code>
<p>Sidenote: Nobody wants to read a wall of text. <b>HIGHLIGHT the important parts</b> (using the <<i></i>b><<i></i>/b> tags of your text so that the reader's eye is immediately drawn to what matters most.</p>
<p>Now that you laid out the Why, you of course tell them what the best option is, and then you're going to tell them <b>how they can implement it.</b></p>
<pre><code class="nim">
Let's showcase how to install curtains, as it's the easiest and cheapest solution to prevent outsiders from seeing what you're doing in your bedroom.
1) buy it,
2) then you attach it above your windows, using screws and screwing it into the wall, (warning, if you're living in an apartment, ask for your landlord's permission!)
3) then you can move the curtain to prevent outsiders from peeking in
</pre></code>
<p>But the thing is, we're not lazy blogwriters here, <b>talking about the path is not enough, you are expected to show the readers how you walk that path.</b> This is why the todolists for new blogposts are structured like so:</p>
<pre><code class="nim">
to be explained: (WHY + WHAT)
-
-
-
to be showcased: (HOW)
-
-
-
-
</pre></code>
<p>In the first part usually there is the to be explained section, where you tell the user why they should care, and what their options are, but afterward there usually is the "to be showcased" part. <b>In that part, you are expected to do a step-by-step tutorial of how to implement the solution</b> which means that you are literally implementing the solution yourself, for yourself, but showing everyone how you're doing it.</p>
<p>Let's take a small todolist that is as follows:</p>
<pre><code class="nim">
to be showcased:
1)Download grapheneOS (GUI digital step)
2)Reboot the phone (Physical step)
3)flash graphene OS on the phone (CLI digital step)
</pre></code>
<img src="51.png" class="imgRz">
<p>Here we have a combination of the 3 possible types of steps you may be expected to showcase, a physical step, a GUI digital step, and a CLI digital step.</p>
<p>The first step being a GUI digital step, you need to take a screenshot with arrows, to make it simple i recommend using flameshot like i explained above, to have screenshots like that:</p>
<img src="52.png" class="imgRz">
<p>In the case of the physical step, you need to take a picture, and add arrows in it if needed, like so:</p>
<img src="../graphene/10.png" class="imgRz">
<p>While editing the html file it will look like that (as you need to put the picture in the same folder as the tutorial you're editing):</p>
<pre><code class="nim">
<<i></i>img src="1.png">
</pre></code>
<p>If you want to reuse an image from another tutorial like i just did above (it's totally fine), but rather than copying the image from another tutorial and waste diskspace, you can simply reuse the image of another tutorial by adding ../tutorialfolder/ before the path of the image like so:</p>
<pre><code class="nim">
<<i></i>img src="../graphene/10.png">
</pre></code>
<p>and lastly if you have a CLI step to show, you need to simply copy paste the terminal output in the pre code blocks while still highlighting what's important like so:<p>
<pre><code class="nim">
<<i></i>pre><<i></i>code class="nim">
nowhere# <b>./flash-all.sh</b>
Warning: skip copying bootloader_a image avb footer (bootloader_a partition size: 0, bootloader_a image size: 14125140).
Sending 'bootloader_a' (13794 KB) OKAY [ 0.364s]
Writing 'bootloader_a' (bootloader) Flashing pack version slider-14.5-11677881
(bootloader) flashing platform gs101
(bootloader) Validating partition ufs
(bootloader) Validating partition partition:0
[...]
OKAY [ 3.089s]
Finished. Total time: 3.454s
Setting current slot to 'a' OKAY [ 0.058s]
Finished. Total time: 0.059s
Rebooting into bootloader OKAY [ 0.000s]
[...]
Sending sparse 'super' 11/13 (254972 KB) OKAY [ 6.618s]
Writing 'super' OKAY [ 0.950s]
Sending sparse 'super' 12/13 (254972 KB) OKAY [ 6.621s]
Writing 'super' OKAY [ 0.935s]
Sending sparse 'super' 13/13 (46284 KB) OKAY [ 1.216s]
Writing 'super' OKAY [ 0.204s]
Erasing 'userdata' OKAY [ 0.390s]
Erase successful, but not automatically formatting.
File system type raw not supported.
wipe task partition not found: cache
Erasing 'metadata' OKAY [ 0.007s]
Erase successful, but not automatically formatting.
File system type raw not supported.
Finished. Total time: 105.929s
Rebooting into bootloader OKAY [ 0.000s]
<b>Finished. Total time: 0.150s</b>
nowhere#
<<i></i>/pre><<i></i>/code>
</pre></code>
<p>If there are parts of the commandline output that don't matter, just replace them with [...] in order to stick to what the user needs to see.</p>
<p>And lastly, if you are someone that makes alot of spelling and grammar mistakes (like me, i know i'm guilty of that aswell), use LTEX+'s addon on vscodium (which is the FOSS version of vscode), it will setup a local LLM that will find your grammar and spelling mistakes:</p>
<pre><code class="nim">
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg \
| gpg --dearmor \
| sudo dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg
echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg ] https://download.vscodium.com/debs vscodium main' \
| sudo tee /etc/apt/sources.list.d/vscodium.list
sudo apt update && sudo apt install codium
</pre></code>
<img src="53.png" class="imgRz">
<img src="54.png" class="imgRz">
<img src="55.png" class="imgRz">
<img src="56.png" class="imgRz">
<img src="57.png" class="imgRz">
<img src="61.png" class="imgRz">
<img src="58.png" class="imgRz">
<img src="59.png" class="imgRz">
<img src="60.png" class="imgRz">
<img src="62.png" class="imgRz">
<p>Now using this addon you can find your typos more easily (as it highlights them for you), effectively helping you find and fix them, so if english isn't your first language <b>definitely make sure that you run LTEX+ once after you finished writing your article, so that you don't leave spelling mistakes behind.</b></p>
<p><b>DISCLAIMER: a blogpost is NOT complete until it follows this quality standard</b>, if you find one that doesn't meet those requirements, do mention it on their <a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/blog-contributions/projects/1">gitea issue</a> or ping me directly about it on SimpleX.</p>
<p>Same thing if you want to contribute a blogpost that does not meet these quality requirements, <b><u>i do not care, it is NOT finished until it meets those requirements.</u></b> Do not be suprised if i refuse your blog contribution for weeks on end if it doesn't meet the requirements. It may take a little more time to do things properly, but at least you're not lowering the quality of the overall blog by following it.</p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<div id="anonb">
<div class="container">
<div class="row">

View file

@ -40,7 +40,7 @@
<div class="col-lg-8 col-lg-offset-2">
<a href="../index.html">Previous Page</a></br></br><h1>Operational Security: Privacy, Anonymity and Deniability</h1>
<p> Tutorials to show how to achieve Privacy, Anonymity and Deniability online.
I have <a href="tutorial/index.html">a quality standard</a> as to how i do these tutorials, if there are any improvements i can do on them please let me know.</p>
I have <a href="qualitystandard/index.html">a quality standard</a> as to how i do these tutorials, if there are any improvements i can do on them please let me know.</p>
<img src="opsec4levels/0.png" class="imgRz">
<p> <a href="opsec4levels/index.html"><u>SHOWCASED ARTICLE:</u></a> Learn how to audit your own setup, to determine your Operational Security (OPSEC) Level, and find out what is the most appropriate internet use for it.</p>
@ -404,8 +404,9 @@
<ol>
<li><a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/blog-contributions/issues/250">❌ How to become a Moderator </a></li>
<li><a href="contribute/index.html">✅ How to become a Contributor</a></li>
<li><a href="qualitystandard/index.html">✅ The Quality Standard</a></li>
<li><a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/blog-contributions/issues/203">❌ How to become a Maintainer</a></li>
<li><a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/blog-contributions/issues/249">❌ Hpw to become an Administrator</a></li>
<li><a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/blog-contributions/issues/249">❌ How to become an Administrator</a></li>
<li><a href="runtheblog/index.html">✅ How to run the blog yourself</a></li>
</ol></br>
</div>

BIN
opsec/logos/opsec.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
opsec/maintainers/0.5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 KiB

BIN
opsec/maintainers/0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 814 KiB

BIN
opsec/maintainers/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 KiB

BIN
opsec/maintainers/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 638 KiB

BIN
opsec/maintainers/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 KiB

BIN
opsec/maintainers/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

BIN
opsec/maintainers/5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

BIN
opsec/maintainers/6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 KiB

View file

@ -8,7 +8,7 @@
<meta name="author" content="">
<link rel="shortcut icon" href="../../../../../../assets/img/favicon.png">
<title>maintainers Setup</title>
<title>How to become a Maintainer</title>
<!-- Bootstrap core CSS -->
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
@ -60,10 +60,10 @@
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<a href="../index.html">Previous Page</a></br></br><p><img src="../../assets/img/user.png" width="50px" height="50px"> <ba>nihilist@Mainpc-PrivateVM-Debian12 - 2025-03-17</ba></p>
<h1>maintainers Setup </h1>
<a href="../index.html">Previous Page</a></br></br><p><img src="../../assets/img/user.png" width="50px" height="50px"> <ba>nihilist@Mainpc-PrivateVM-Debian12 - 2025-03-21</ba></p>
<h1>How to become a Maintainer </h1>
<img src="0.png" class="imgRz">
<p> </p>
<p>Becoming a Maintainer is the next step to contribute to the Opsec blog and Darknet Lantern projects, where you get to assist the other contributors contribute just like you did.</p>
</div>
</div><!-- /row -->
@ -75,7 +75,54 @@
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Initial Setup </b></h2>
<h2><b>Onboarding new Contributors</b></h2>
<p>First of all if there are new contributors that want to join in and contributors, maintainers need to invite them to the contributors chatroom, (and if said maintainer is an administrator, give them their git account credentials):</p>
<img src="0.5.png" class="imgRz">
<p>Once added in private messages, the user can be invited (and can safely get their new git account credentials) :</p>
<img src="1.png" class="imgRz">
<p>In the Contributors chatroom, the contributors will be able to communicate with maintainers directly:</p>
<img src="2.png" class="imgRz">
<p>For example, to brainstorm and adjust todolists:</p>
<img src="3.png" class="imgRz">
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /grey -->
<!-- +++++ Second Post +++++ -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Assigning contributors onto todolists</b></h2>
<p>Or to assign people to work on todolists:</p>
<img src="4.png" class="imgRz">
<p>As a maintainer, you get to have authority on what todolists get to contain, you can validate them or edit them however you wish. In fact as it takes time to convert valid criticism into todolist, there is also incentive to write them as a maintainer (at the end of each month you'll get rewarded 2 euros per todolist that you correctly write)</p>
<img src="5.png" class="imgRz">
<p>(don't forget to move the issue into the "assigned" column on the <a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/blog-contributions/projects/1">project board</a> aswell:</p>
<img src="6.png" class="imgRz">
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /grey -->
<!-- +++++ Second Post +++++ -->
<div id="anon3">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Reviewing Contributions</b></h2>
<p>And lastly, the maintainer's role is to review contributions whenever a contributor submits one.</p>
<p>As you are most likely already aware since you are supposed to already be a contributor, whenever someone submits a contribution, they need to follow <a href="../qualitystandard/index.html">the quality standard.</a></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<img src="" class="imgRz">
<pre><code class="nim">
@ -102,7 +149,7 @@
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Setup</b></h2> </br> </br>
<h2><b>How to become a m</b></h2> </br> </br>
<p></p>
<img src="" class="imgRz">
<pre><code class="nim">

View file

Before

Width:  |  Height:  |  Size: 155 KiB

After

Width:  |  Height:  |  Size: 155 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 126 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 106 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 412 KiB

After

Width:  |  Height:  |  Size: 412 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

View file

@ -0,0 +1,270 @@
<!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.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../../../../../../assets/img/favicon.png">
<title>The Quality Standard</title>
<!-- Bootstrap core CSS -->
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
<link href="../../assets/css/xt256.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="../../assets/css/main.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Static navbar -->
<div class="navbar navbar-inverse-anon navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand-anon" href="\index.html">The Nihilism Blog</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="/about.html">About</a></li>
<li><a href="/blog.html">Categories</a></li>
<li><a href="https://blog.nowhere.moe/donate.html">Donate</a></li>
<li><a href="/contact.html">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<!-- +++++ Posts Lists +++++ -->
<!-- +++++ First Post +++++ -->
<div id="anon3">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<a href="../index.html">Previous Page</a></br></br><p><img src="../../assets/img/user.png" width="50px" height="50px"> <ba>nihilist@mainpc - 2025-03-22</ba></p>
<h1>The Quality Standard </h1>
<p>In this tutorial we're going to look at what the quality standard is, to be able to submit good quality tutorials to the blog. <b>We do not consider tutorials that don't follow that standard to be acceptable.</b></p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /grey -->
<!-- +++++ Second Post +++++ -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2>The Quality Standard</h2>
<p>In order to make sure the content isn't rushed and the quality of the blog overall remains high, we have the following quality standard:</p>
<img src="50.png" class="imgRz">
<p>Rather than writing a gigantic wall of text and loose you halfway, as you can see i made a graph. This is the most effective way of conveying your ideas to your audience, so don't hesitate to make graphs using drawio (with colors preferably) instead of writing walls of text that nobody will read.</p>
<p>First of all, the general structure of the content is with the <b>Why / What / How methodology</b> This following the minimalistic style where everything that is used and mentionned must be justified. (Everything that has no justification to be there, is to simply be removed.)</p>
<ol>
<li><p><b>Why should I care ?</p></b></li>
<li><p><b>What are my options ?</p></b></li>
<li><p><b>How can i implement it ?</p></b></li>
</ol>
<p>Nobody cares about your message until you tell them <b>why they should care.</b> Usually that goes by telling them a short story that they can relate to, in our case it's an opsec scenario that explains what an adversary can do against you.</p>
<p><b>The blog is structured around 3 core scenarios:</b></p>
<ol>
<li><p><u>Privacy:</u> The adversary can see you do something, how can you prevent it ?</p></li>
<li><p><u>Anonymity:</u> The adversary knows that it's you who did it, how can you prevent it ?</p></li>
<li><p><u>Deniability:</u> The adversary busts down your door, and forces you to open your devices, how can you make sure he doesn't find anything in there ?</p></li>
</ol>
<p><b>If the scenario of your contribution doesn't fit into (or serve a purpose for) one of those 3, it's most likely off-topic.</b></p>
<pre><code class="nim">
Context: In your house, in your bedroom, if there are windows to look outside
Situation: the annoying neighbor always stops by to look at what you're doing in your bedroom
Are you ok with this situation ?
</pre></code>
<p>So you told your story to highlight the problem, the reader understands that they want privacy. Now you need to tell them the what, <b>what are their options ?</b></p>
<pre><code class="nim">
You have a few options to prevent your annoying neighbor from seeing what you're doing in your bedroom:
1) get rid of all windows and have a house with only walls : expensive
2) install curtains on your windows : inexpensive
</pre></code>
<p>Sidenote: Nobody wants to read a wall of text. <b>HIGHLIGHT the important parts</b> (using the <<i></i>b><<i></i>/b> tags of your text so that the reader's eye is immediately drawn to what matters most.</p>
<p>Now that you laid out the Why, you of course tell them what the best option is, and then you're going to tell them <b>how they can implement it.</b></p>
<pre><code class="nim">
Let's showcase how to install curtains, as it's the easiest and cheapest solution to prevent outsiders from seeing what you're doing in your bedroom.
1) buy it,
2) then you attach it above your windows, using screws and screwing it into the wall, (warning, if you're living in an apartment, ask for your landlord's permission!)
3) then you can move the curtain to prevent outsiders from peeking in
</pre></code>
<p>But the thing is, we're not lazy blogwriters here, <b>talking about the path is not enough, you are expected to show the readers how you walk that path.</b> This is why the todolists for new blogposts are structured like so:</p>
<pre><code class="nim">
to be explained: (WHY + WHAT)
-
-
-
to be showcased: (HOW)
-
-
-
-
</pre></code>
<p>In the first part usually there is the to be explained section, where you tell the user why they should care, and what their options are, but afterward there usually is the "to be showcased" part. <b>In that part, you are expected to do a step-by-step tutorial of how to implement the solution</b> which means that you are literally implementing the solution yourself, for yourself, but showing everyone how you're doing it.</p>
<p>Let's take a small todolist that is as follows:</p>
<pre><code class="nim">
to be showcased:
1)Download grapheneOS (GUI digital step)
2)Reboot the phone (Physical step)
3)flash graphene OS on the phone (CLI digital step)
</pre></code>
<img src="51.png" class="imgRz">
<p>Here we have a combination of the 3 possible types of steps you may be expected to showcase, a physical step, a GUI digital step, and a CLI digital step.</p>
<p>The first step being a GUI digital step, you need to take a screenshot with arrows, to make it simple i recommend using flameshot like i explained above, to have screenshots like that:</p>
<img src="52.png" class="imgRz">
<p>In the case of the physical step, you need to take a picture, and add arrows in it if needed, like so:</p>
<img src="../graphene/10.png" class="imgRz">
<p>While editing the html file it will look like that (as you need to put the picture in the same folder as the tutorial you're editing):</p>
<pre><code class="nim">
<<i></i>img src="1.png">
</pre></code>
<p>If you want to reuse an image from another tutorial like i just did above (it's totally fine), but rather than copying the image from another tutorial and waste diskspace, you can simply reuse the image of another tutorial by adding ../tutorialfolder/ before the path of the image like so:</p>
<pre><code class="nim">
<<i></i>img src="../graphene/10.png">
</pre></code>
<p>and lastly if you have a CLI step to show, you need to simply copy paste the terminal output in the pre code blocks while still highlighting what's important like so:<p>
<pre><code class="nim">
<<i></i>pre><<i></i>code class="nim">
nowhere# <b>./flash-all.sh</b>
Warning: skip copying bootloader_a image avb footer (bootloader_a partition size: 0, bootloader_a image size: 14125140).
Sending 'bootloader_a' (13794 KB) OKAY [ 0.364s]
Writing 'bootloader_a' (bootloader) Flashing pack version slider-14.5-11677881
(bootloader) flashing platform gs101
(bootloader) Validating partition ufs
(bootloader) Validating partition partition:0
[...]
OKAY [ 3.089s]
Finished. Total time: 3.454s
Setting current slot to 'a' OKAY [ 0.058s]
Finished. Total time: 0.059s
Rebooting into bootloader OKAY [ 0.000s]
[...]
Sending sparse 'super' 11/13 (254972 KB) OKAY [ 6.618s]
Writing 'super' OKAY [ 0.950s]
Sending sparse 'super' 12/13 (254972 KB) OKAY [ 6.621s]
Writing 'super' OKAY [ 0.935s]
Sending sparse 'super' 13/13 (46284 KB) OKAY [ 1.216s]
Writing 'super' OKAY [ 0.204s]
Erasing 'userdata' OKAY [ 0.390s]
Erase successful, but not automatically formatting.
File system type raw not supported.
wipe task partition not found: cache
Erasing 'metadata' OKAY [ 0.007s]
Erase successful, but not automatically formatting.
File system type raw not supported.
Finished. Total time: 105.929s
Rebooting into bootloader OKAY [ 0.000s]
<b>Finished. Total time: 0.150s</b>
nowhere#
<<i></i>/pre><<i></i>/code>
</pre></code>
<p>If there are parts of the commandline output that don't matter, just replace them with [...] in order to stick to what the user needs to see.</p>
<p>And lastly, if you are someone that makes alot of spelling and grammar mistakes (like me, i know i'm guilty of that aswell), use LTEX+'s addon on vscodium (which is the FOSS version of vscode), it will setup a local LLM that will find your grammar and spelling mistakes:</p>
<pre><code class="nim">
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg \
| gpg --dearmor \
| sudo dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg
echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg ] https://download.vscodium.com/debs vscodium main' \
| sudo tee /etc/apt/sources.list.d/vscodium.list
sudo apt update && sudo apt install codium
</pre></code>
<img src="53.png" class="imgRz">
<img src="54.png" class="imgRz">
<img src="55.png" class="imgRz">
<img src="56.png" class="imgRz">
<img src="57.png" class="imgRz">
<img src="61.png" class="imgRz">
<img src="58.png" class="imgRz">
<img src="59.png" class="imgRz">
<img src="60.png" class="imgRz">
<img src="62.png" class="imgRz">
<p>Now using this addon you can find your typos more easily (as it highlights them for you), effectively helping you find and fix them, so if english isn't your first language <b>definitely make sure that you run LTEX+ once after you finished writing your article, so that you don't leave spelling mistakes behind.</b></p>
<p><b>DISCLAIMER: a blogpost is NOT complete until it follows this quality standard</b>, if you find one that doesn't meet those requirements, do mention it on their <a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/blog-contributions/projects/1">gitea issue</a> or ping me directly about it on SimpleX.</p>
<p>Same thing if you want to contribute a blogpost that does not meet these quality requirements, <b><u>i do not care, it is NOT finished until it meets those requirements.</u></b> Do not be suprised if i refuse your blog contribution for weeks on end if it doesn't meet the requirements. It may take a little more time to do things properly, but at least you're not lowering the quality of the overall blog by following it.</p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<div id="anonb">
<div class="container">
<div class="row">
<div class="col-lg-4">
<h4>Nihilism</h4>
<p>
Until there is Nothing left.</p></br></br><p>Creative Commons Zero: <a href="../../../../opsec/runtheblog/index.html">No Rights Reserved</a></br><img src="\CC0.png">
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4>My Links</h4>
<p>
<a target="_blank" rel="noopener noreferrer" href="http://blog.nowhere.moe/rss/feed.xml">RSS Feed</a><br/><a target="_blank" rel="noopener noreferrer" href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FBD4qkVq8lJUgjHt0kUaxeQBYsKaxDejeecxm6-2vOwI%3D%40b6geeakpwskovltbesvy3b6ah3ewxfmnhnshojndmpp7wcv2df7bnead.onion%2FdXQ3FLM5ufTNQxgXU6jm07fRXSq9Ujkt%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAzABUDXe4g0bjXyPcNOU0QzWxMYMMGgR3kcOQacoEaQ0%253D&data=%7B%22groupLinkId%22%3A%22G3yklv9753AcNA7lGV3FBw%3D%3D%22%7D">SimpleX Chat</a><br/>
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4>About nihilist</h4>
<p style="word-wrap: break-word;"><u>Donate XMR:</u> 8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8</p></br><p><u>Contact:</u> nihilist@contact.nowhere.moe (<a href="https://nowhere.moe/nihilist.pubkey">PGP</a>)</p>
</div><!-- /col-lg-4 -->
</div>
</div>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
</body>
</html>