bump to today

This commit is contained in:
qorg11 2021-05-22 23:17:06 +02:00
parent 96e24103f3
commit cb37c1801f
No known key found for this signature in database
GPG Key ID: 343FC20A4ACA62B9
33 changed files with 1303 additions and 48 deletions

BIN
.img/1609264022.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
.img/1609264076.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
.img/1609264080.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
.img/1609264086.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
.img/1609264118.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

BIN
1610633628.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
1610908987.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

330
cat-v.css Normal file
View File

@ -0,0 +1,330 @@
/* Default werc style */
body {
color: black;
background-color: white;
font-family: Helvetica, Verdana, Arial, 'Liberation Sans', FreeSans, sans-serif;
font-size: 84%; /* Enables font size scaling in MSIE */
margin: 0;
padding: 0;
}
/* # Header # */
.superHeader {
color: white;
background-color: rgb(100,135,220);
height: 1.6em;
}
.superHeader img { vertical-align: bottom; }
.superHeader a {
color: white;
background-color: transparent;
font-size: 91%;
margin: 0;
padding: 0 0.5ex 0 0.25ex;
}
a { text-decoration: none; }
a:hover { text-decoration: underline; }
.superHeader div {
position: absolute;
top: 0.40ex;
}
.superHeader .left { left: 0.4em; }
.superHeader .right { right: 0.4em; }
.midHeader {
color: rgb(39,78,144);
background-color: rgb(140,170,230);
background-color: #ff6d06;
border: solid 0 black;
border-width: 2px 0;
}
.headerTitle {
color: black;
font-size: 233%;
font-weight: normal;
margin: 0 0 0 4mm;
padding: 0.25ex 0;
}
#headerSubTitle {
font-size: 50%;
font-style: italic;
margin-left: 1em;
}
.headerTitle a { color: black; }
.headerTitle a:hover { text-decoration: none; }
.subHeader {
display: none;
color: white;
background-color: rgb(0,51,153);
margin: 0;
padding: 1ex 1ex 1ex 1.5mm;
}
.subHeader a {
color: white;
background-color: transparent;
font-weight: bold;
margin: 0;
padding: 0 0.75ex 0 0.5ex;
}
.superHeader .highlight, .subHeader .highlight {
color: rgb(253,160,91);
background-color: transparent;
}
/* # Side # */
#side-bar {
width: 16em;
float: left;
clear: left;
border-right: 1px solid #ddd;
}
#side-bar div {
border-bottom: 1px solid #ddd;
}
.sideBarTitle {
font-weight: bold;
margin: 0 0 0.5em 2mm;
padding: 1em 0 0 0;
}
#side-bar ul {
list-style-type: none;
list-style-position: outside;
margin: 0;
padding: 0 0 0.3em 0;
}
li ul {
padding-left: 0.6em !important;
}
#side-bar li {
margin: 0;
padding: 0.1ex 0; /* Circumvents a rendering bug (?) in MSIE 6.0 XXX should move to iehacks.css, this causes an ugly gap */
}
#side-bar a {
color: rgb(0,102,204);
background-color: transparent;
margin: 0;
padding: 0.25em 1ex 0.25em 2mm;
display: block;
text-transform: capitalize;
font-weight: bold!important;
font-size: 102%;
border-left: white solid 0.2em;
}
.thisPage, .thisPage a {
color: black!important;
background-color: white;
padding-left: 5mm;
}
#side-bar a:hover {
color: white;
background-color: rgb(100,135,220);
border-left: black solid 0.2em;
text-decoration: none;
}
.sideBarText {
line-height: 1.5em;
margin: 0 0 1em 0;
padding: 0 1.5ex 0 2.5mm;
display: block;
}
#side-bar .sideBarText a {
margin: 0;
padding: 0;
display: inline;
}
#side-bar .sideBarText a:hover {
color: rgb(0,102,204);
background-color: transparent;
text-decoration: none;
}
/* # Main Copy # */
#main-copy {
max-width: 70em;
color: black;
background-color: transparent;
text-align: justify;
line-height: 1.5em;
margin: 0em 0 0 16em;
padding: 0.5mm 5mm 5mm 5mm;
border-left: 1px solid #ddd;
}
#bodyText {
margin: 0 0 0 15.5em;
padding: 2mm 5mm 2mm 5mm;
}
#main-copy p {
margin: 1em 1ex 1em 1ex !important; /* Need !important so troff-generated pages don't look totally squezed */
padding: 0;
}
#main-copy a {
color: rgb(0,102,204);
background-color: transparent;
}
#main-copy a:hover {
color: rgb(100,135,220);
}
#main-copy h1, #main-copy h2 {
color: rgb(0,102,204);
background-color: transparent;
font-size: 145.5%;
font-weight: bold;
margin: 2em 0 0 0;
padding: 0.5ex 0 0.5ex 0.6ex;
border-bottom: 2px solid rgb(0,102,204);
}
#main-copy h2 {
font-size: 115.5%;
border-bottom: 1px solid rgb(0,102,204);
}
#main-copy .topOfPage {
color: rgb(0,102,204);
background-color: transparent;
font-size: 91%;
font-weight: bold;
text-decoration: none;
margin: 3ex 1ex 0 0;
padding: 0;
float: right;
}
dl {
margin: 1em 1ex 2em 1ex;
padding: 0;
}
dt {
font-weight: bold;
margin: 0 0 0 0;
padding: 0;
}
dd {
margin: 0 0 2em 2em;
padding: 0;
}
/* # Footer # */
#footer {
color: white;
background-color: rgb(100,135,220);
padding: 1em;
clear: both;
}
#footer .left {
text-align: left;
line-height: 1.55em;
float: left;
clear: left;
}
#footer .right {
text-align: right;
line-height: 1.45em;
}
#footer a {
color: white;
background-color: transparent;
}
/* GENERAL */
table {
border: solid 1px black;
}
th {
background-color: #abc;
border: solid 1px black;
text-align: center;
}
td {
background-color: #def;
border: solid 1px black;
}
hr {
border-width: 0px 0px 0.1em 0px;
border-color: black;
}
acronym, .titleTip {
border-bottom: 1px solid #ddd;
cursor: help;
margin: 0;
padding: 0 0 0.4px 0;
}
pre {
margin-left: 2em;
font-size: 1.2em;
}
blockquote {
border-left: 1px solid blue;
font-style: italic;
}
.smallCaps {
font-size: 110%;
font-variant: small-caps;
}
.doNotDisplay { display: none; }
.notify_errors,
.notify_notes,
.notify_success { padding: .8em; margin-bottom: 1em; border: 2px solid #ddd; }
.notify_errors { background: #FBE3E4; color: #8a1f11; border-color: #FBC2C4; }
.notify_notes { background: #FFF6BF; color: #514721; border-color: #FFD324; }
.notify_success { background: #E6EFC2; color: #264409; border-color: #C6D880; }
.notify_errors a { color: #8a1f11; }
.notify_notes a { color: #514721; }
.notify_success a { color: #264409; }
/* # Page/Handler specific # */
h1.dir-list-head, ul.dir-list {
text-transform: capitalize;
font-weight: bold;
}
ul.sitemap-list a {
text-transform: capitalize;
}

339
darkgreen.css Normal file
View File

@ -0,0 +1,339 @@
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("kill-9.xyz") {
/* Default werc style */
body {
color: white;
background-color: #1e1e1e;
font-family: Helvetica, Verdana, Arial, 'Liberation Sans', FreeSans, sans-serif;
font-size: 84%; /* Enables font size scaling in MSIE */
margin: 0;
padding: 0;
}
/* # Header # */
.superHeader {
color: white;
background-color: #333;
height: 1.6em;
}
.superHeader img { vertical-align: bottom; }
.superHeader a {
color: white;
background-color: transparent;
font-size: 91%;
margin: 0;
padding: 0 0.5ex 0 0.25ex;
}
a { text-decoration: none; ;}
a:hover { text-decoration: underline; }
.superHeader div {
position: absolute;
top: 0.40ex;
}
.superHeader .left { left: 0.4em; }
.superHeader .right { right: 0.4em; }
.midHeader {
color: rgb(39,78,144);
background-color: #333;
background-color: #333;
border: solid 0 black;
border-width: 2px 0;
}
.headerTitle {
color: #32DD72;
font-size: 233%;
font-weight: normal;
margin: 0 0 0 4mm;
padding: 0.25ex 0;
}
#headerSubTitle {
font-size: 50%;
font-style: italic;
margin-left: 1em;
}
.headerTitle a { color: #32DD72; }
.headerTitle a:hover { text-decoration: none; }
.subHeader {
display: none;
color: white;
background-color: #333;
margin: 0;
padding: 1ex 1ex 1ex 1.5mm;
}
.subHeader a {
color: white;
background-color: transparent;
font-weight: bold;
margin: 0;
padding: 0 0.75ex 0 0.5ex;
}
.superHeader .highlight, .subHeader .highlight {
color: #333;
background-color: transparent;
}
/* # Side # */
#side-bar {
width: 16em;
float: left;
clear: left;
border-right: 1px solid #ddd;
}
#side-bar div {
border-bottom: 1px solid #ddd;
}
.sideBarTitle {
font-weight: bold;
margin: 0 0 0.5em 2mm;
padding: 1em 0 0 0;
}
#side-bar ul {
list-style-type: none;
list-style-position: outside;
margin: 0;
padding: 0 0 0.3em 0;
}
li ul {
padding-left: 0.6em !important;
color: #ccc!important;
}
#side-bar li {
margin: 0;
padding: 0.1ex 0; /* Circumvents a rendering bug (?) in MSIE 6.0 XXX should move to iehacks.css, this causes an ugly gap */
}
#side-bar a {
color: #ccc!important;
background-color: transparent;
margin: 0;
padding: 0.25em 1ex 0.25em 2mm;
display: block;
text-transform: capitalize;
font-weight: bold!important;
font-size: 102%;
border-left: white solid 0.2em;
}
.thisPage, .thisPage a {
color: black!important;
background-color: white;
padding-left: 5mm;
}
#side-bar a:hover {
color: white;
color: #ccc!important;
border-left: black solid 0.2em;
text-decoration: none;
}
.sideBarText {
line-height: 1.5em;
margin: 0 0 1em 0;
padding: 0 1.5ex 0 2.5mm;
color: #ccc!important;
display: block;
}
#side-bar .sideBarText a {
margin: 0;
padding: 0;
display: inline;
}
#side-bar .sideBarText a:hover {
color: rgb(0,102,204);
background-color: transparent;
text-decoration: none;
}
/* # Main Copy # */
#main-copy {
max-width: 70em;
color: #32DD72;
background-color: transparent;
text-align: justify;
line-height: 1.5em;
margin: 0em 0 0 16em;
padding: 0.5mm 5mm 5mm 5mm;
border-left: 1px solid #ddd;
}
#bodyText {
margin: 0 0 0 15.5em;
padding: 2mm 5mm 2mm 5mm;
}
#main-copy p {
margin: 1em 1ex 1em 1ex !important; /* Need !important so troff-generated pages don't look totally squezed */
padding: 0;
}
p,pre,code {color:#999;}
#main-copy a {
color: #ccc!important;
background-color: transparent;
}
#main-copy a:hover {
color: rgb(100,135,220);
}
#main-copy h1, #main-copy h2 {
color: #32DD72 !important;
background-color: transparent;
font-size: 145.5%;
font-weight: bold;
margin: 2em 0 0 0;
padding: 0.5ex 0 0.5ex 0.6ex;
border-bottom: 2px solid rgb(0,102,204);
}
#main-copy h2 {
font-size: 115.5%;
border-bottom: 1px solid rgb(0,102,204);
}
#main-copy .topOfPage {
color: rgb(0,102,204);
background-color: transparent;
font-size: 91%;
font-weight: bold;
text-decoration: none;
margin: 3ex 1ex 0 0;
padding: 0;
float: right;
}
dl {
margin: 1em 1ex 2em 1ex;
padding: 0;
}
dt {
font-weight: bold;
margin: 0 0 0 0;
padding: 0;
}
dd {
margin: 0 0 2em 2em;
padding: 0;
}
/* # Footer # */
#footer {
color: white;
background-color: rgb(100,135,220);
padding: 1em;
clear: both;
}
#footer .left {
text-align: left;
line-height: 1.55em;
float: left;
clear: left;
}
#footer .right {
text-align: right;
line-height: 1.45em;
}
#footer a {
color: white;
background-color: transparent;
}
/* GENERAL */
table {
border: solid 1px black;
}
th {
background-color: #abc;
border: solid 1px black;
text-align: center;
}
td {
background-color: #def;
border: solid 1px black;
}
hr {
border-width: 0px 0px 0.1em 0px;
border-color: black;
}
acronym, .titleTip {
border-bottom: 1px solid #ddd;
cursor: help;
margin: 0;
padding: 0 0 0.4px 0;
}
pre {
margin-left: 2em;
font-size: 1.2em;
}
blockquote {
border-left: 1px solid blue;
font-style: italic;
}
.smallCaps {
font-size: 110%;
font-variant: small-caps;
}
.doNotDisplay { display: none; }
.notify_errors,
.notify_notes,
.notify_success { padding: .8em; margin-bottom: 1em; border: 2px solid #ddd; }
.notify_errors { background: #FBE3E4; color: #8a1f11; border-color: #FBC2C4; }
.notify_notes { background: #FFF6BF; color: #514721; border-color: #FFD324; }
.notify_success { background: #E6EFC2; color: #264409; border-color: #C6D880; }
.notify_errors a { color: #8a1f11; }
.notify_notes a { color: #514721; }
.notify_success a { color: #264409; }
/* # Page/Handler specific # */
h1.dir-list-head, ul.dir-list {
text-transform: capitalize;
font-weight: bold;
}
ul.sitemap-list a {
text-transform: capitalize;
}
li, ul {color:#999!important
}
}

237
guides/xmpp_server.md Normal file
View File

@ -0,0 +1,237 @@
# How to setup a prosody server
In this guide i'm going to show how to make a prosody (XMPP)
server, this guide will only cover the bare minimum (no extensions)
+ the http upload mod, so you can send files.
# Requirements
1. A domain (you can use something like <http://afraid.org> or
<http://duckdns.org> if you don't have any. My domain in this thing
is flatline.fr.to. I got it in afraid.org
2. A server running a good operating system (Debian, FreeBSD...) I'm
using a FreeBSD machine in this guide.
# Dependences
1. prosody
2. nginx
3. something that enables the `mod_perl` in nginx, in FreeBSD, it is in
the `nginx-full` package, or you can choose to install it while
building nginx using the ports. In Debian you can install the
`libnginx-mod-http-perl` package
4. [Certificates](/harmful/software/CA), we are going to use certbot
here.
# Installation
In FreeBSD, you simply run `pkg install prosody prosody-modules nginx-full` or you can
choose to build it from ports.
# Configuration
Here is where the """hard part""" comes, in Debian and other good
operating systems, the configuration files are located in
`/etc/prosody`, in FreeBSD they're located at
`/usr/local/etc/prosody`. The main configuration file is
`prosody.cfg.lua` but you can add multiple configurations file in the
.conf.d folder.
The configuration file has a lot of comments so use them as
guide. First of all is to add admins to the server:
`admins = {wintermute@flatline.fr.to}`
The next line is the modules_enabled, if you want to enable some
modules, add them here, some modules can be smacks, for example. but,
again, this guide only covers the minimum.
Next thing you should check is the `allow_registration` parameter,
should be false unless you're going to make a public server.
Next, you can configure prosody to use sql as user storage, but in
this case we are just going to do the internal thing. Make sure that
it is internal_hashed.
Now, skip until the "VirtualHost" Here you will configure the XMPP
VirtualHost for the JID.
Note that configuration bellow "VirtualHost" will only affect that
VirtualHost, until there's a next VirtualHost or "Component". Single
domain servers should have only one "VirtualHost"
By default VirtualHost value is "localhost" change it to your domain:
`VirtualHost "flatline.to.fr"`
Next, you have to add the ssl certificates to it. to use we are going
to generate them using `certbot`
To generate the certificates, run `certbot certonly
--rsa-key-size=4096 -d your-domain`, if you have nginx running, stop
it, so you can use the temporary server option, which has never failed
me. Your certificate will be in
(usr/local)/etc/letsencrypt/youtdomain/fullchain.pem.
prosody includes a command to import certbot certs so you don't have
to bother with permissions, to do this simply run prosodyctl --root
cert import /usr/local/etc/letsencrypt/live/
Now, you have to give prosody that certificate, you have to put it
twice for some reason, like this:
~~~
ssl = {
key = "certs/flatline.fr.to.key";
certificate = "certs/flatline.fr.to.crt";
}
VirtualHost "flatline.fr.to"
ssl = {
key = "certs/flatline.fr.to.key";
certificate = "certs/flatline.fr.to.crt";
}
~~~
now, run `prosodyctl check`, you should get an output like this
~~~
Checking config...
Done.
Checking DNS for host flatline.fr.to...
Host flatline.fr.to does not seem to resolve to this server (IPv6)
Checking certificates...
Checking certificate for flatline.fr.to
Certificate: /usr/local/etc/prosody/certs/flatline.fr.to.crt
All checks passed, congratulations!
~~~
Which means everything is working! now you have to create an user to
test it, to do this, run something like this `prosodyctl adduser
wintermute@flatline.fr.to`, maybe you should create first the admin's
account. So I created the Wintermute account.
It will ask for a password, so enter it. Now it's time to test it, you
can use any client. I recommend poezio/gajim/dino/profanity
Before testing, you have to, obviously, start the server, in freebsd
you'd do something like `service prosody start`, probably the same in
Debian.
If you can log in, probably everything works.
# Uploading files
Now you have the bare-bones XMPP server, but you probably want it to
upload files, you can use one of these:
* `mod_http_upload`
* `mod_http_upload_external`
We are going to use `mod_http_upload_external` because it's more
stable and have more benefits over the regular one. There are bunch of
implementations of `mod_http_upload_external` but we are going to use
the perl one because it's the one that worked for me.
## Requirements
* A subdomain (I created up.flatline.fr.to for this)
* nginx
* the perl mod
## Installation
You have to add this to the bottom of the prosody config file
~~~
Component "up.flatline.fr.to" "http_upload_external"
http_upload_external_base_url = "https://up.flatline.fr.to/"
http_upload_external_secret = "BURDOBORDO:DDDD:DDD:--"
~~~
Please note the "/" at the end of the URL
Create a new site under sites-enabled in nginx configuration folder
with something like this.
~~~
server {
# Specify directives such as "listen", "server_name", and TLS-related
# settings for the "server" that handles the uploads.
server_name up.flatline.fr.to;
# Uploaded files will be stored below the "root" directory. To minimize
# disk I/O, make sure the specified path is on the same file system as
# the directory used by Nginx to store temporary files holding request
# bodies ("client_body_temp_path", often some directory below /var).
root /usr/local/var/www/upload;
# Specify this "location" block (if you don't use "/", see below):
location / {
perl upload::handle;
}
# Upload file size limit (default: 1m), also specified in your XMPP
# server's upload module configuration (see below):
client_max_body_size 100m;
}
~~~
now, in your nginx.conf add something like this in the http section
~~~
load_module modules/ngx_http_perl_module.so;
http {
perl_modules /usr/local/lib/perl; # Path to upload.pm.
perl_require upload.pm;
...
}
~~~
Run these commands
~~~
mkdir -p /usr/local/lib/perl
wget -O /usr/local/lib/perl/upload.pm https://git.io/fNZgL
~~~
Now you have to edit /usr/local/lib/perl/upload.pm to change the
password for the one you put in prosody configuration.
`my $external_secret = 'BURDOBORDO:DDDD:DDD:--';`
Make the directory for uploaded files `mkdir
/usr/local/var/www/upload` and use chown to give it ownership to nginx
user, in debian is www-data and in freebsd is www, but in others like
arch is nginx.
## SSL for the upload site
We used https:// in the prosody configuration, you can use http:// if
you want, but it's not recommended. We are going to simply use the
`--nginx` certbot flag for this. So you have to install the certbot
nginx plugin. Simply run `certbot --nginx --rsa-key-size=4096 -d
up.flatline.fr.to`. Process shold be automatic.
Try uploading a file in dino, it shold work.
The next step will be adding other modules to your XMPP server, such
as MUC or some others, these are very obvious to install. Only RTFM
:). If you are going to make it compatible with more extensions,
create a tester account (tester@flatline.fr.to) and add it to
<https://compliance.conversations.im>. If you click on the squares of
why the thing isn't working, it will give you a guide of how to
install that. Most modules are simply adding the modules to the
modules_enabled section. You should install smacks and bookmarks!
# References
* [prosody website](https://prosody.im)
* [prosody basic guide](https://prosody.im/doc/configure)
* [using let's encrypt with prosody](https://prosody.im/doc/letsencrypt)
* [prosody modules](https://modules.prosody.im)
* [mod\_http\_upload\_external](https://modules.prosody.im/mod_http_upload_external.html)
* [ngx\_http\_upload](https://github.com/weiss/ngx_http_upload)

View File

@ -24,11 +24,19 @@ max-width:75%;
--- smcameron
## Object oriented
>I invented the term object oriented, and I can tell you that C++
>wasn't what I had in mind.
--- Alan Kay
# Object oriented
So automatically sucks.
## Ugly syntax
# Ugly syntax
The only non-ugly part of C++ is the headers' name: iostream, cmath,
ctime, thread, etc. Unlike in C, where they are ugly as shit: stdio.h,
@ -61,7 +69,7 @@ Now what the fuck is std:: and why do I have to write << just to print some shit
Note: you can skip the std:: part with ```using namespace std``` but this is a [bad practice](https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice)
## Error messages
# Error messages
in the following code:
@ -220,8 +228,73 @@ a.cc:5:35: error: found : in nested-name-specifier, expected ::
</p>
(In GCC)
## Compatibilty
# Objects are stupid
```
std::string spurdo = "sparde"
```
where spurdo is an object
`spurdo.c_str() // converts the string to a C '\0' terminated
string.`
In C, strings are an array of chars, in C++, they're an object, with
methods.
# Compatibilty
C++ is "compatible" with C
But this can break most C programs
# A sad story about c++ executables
~~~
<lucy>  try to strip the executable
<lucy>  Did it change anything?
<qorg11>  strip?
<lucy>  "strip a.out"
<lucy>  It removes unused stuff
<lucy>  like debug symbols and similar
<qorg11>  qorg@satania ~> md5sum a.out
cd1cc93ac2ea0c8129042e96ae7d65e7 a.out
qorg@satania ~> strip a.out
qorg@satania ~> md5sum a.out
e6e6e1ea132edb67c6005e703ebe7c81 a.out
<qorg11>  yeah?
<lucy>  and now compare the assembly code
<qorg11>  how
<qorg11>  do i disassembly it or what
<lucy>  how did you do it before?
<qorg11>  g++ -S
<qorg11>  lol
<lucy>  oof
<lucy>  maybe just compare the filesize
<qorg11>  qorg@satania ~> gcc mtx.c -lcurses -lpthread
qorg@satania ~> du -h a.out
24K a.out
<qorg11>  qorg@satania ~> g++ mtx.cc -lcurses -pthread
qorg@satania ~> du -h a.out
40K a.out
<qorg11>  now with -Os
<qorg11>  qorg@satania ~> gcc mtx.c -lcurses -lpthread -Os
qorg@satania ~> du -h a.out
24K a.out
<qorg11>  lol
<qorg11>  qorg@satania ~> g++ mtx.cc -lcurses -pthread -Os
qorg@satania ~> du -h a.out
24K a.out
<qorg11>  congrats c++!
<qorg11>  exact filesize: 23488 (according to stat)
<lucy>  now the stripped versions
<qorg11>  stat'd c version: 21520
<qorg11>  stripped c++ 14680
<qorg11>  stripped c: 14472
<lucy>  a considerably smaller difference
<lucy>  So c++ is bloated up with debug symbols, awesome
<qorg11>  lol
<qorg11>  can i take a log of this and put it in kill-9.xyz/harmful/software/c++?
~~~

View File

@ -0,0 +1,15 @@
# The guy who created a monolithic kernel in the 90s thinks C++ sucks
>C++ is a horrible language. Its made more horrible by the fact that
>a lot of substandard programmers use it, to the point where its much
>much easier to generate total and utter crap with it. Quite frankly,
>even if the choice of C were to do *nothing* but keep the C++
>programmers out, that in itself would be a huge reason to use C.
~~~
In general, I'd say that anybody who designs his kernel modules for C++ is
either
(a) looking for problems
(b) a C++ bigot that can't see what he is writing is really just C anyway
(c) was given an assignment in CS class to do so.
~~~

View File

@ -1 +1,6 @@
>\>c#
>C# is what happens when some kid learns java then looks at C and
>thinks "I can fix this"
--- Baobab

View File

@ -1,3 +1,49 @@
# Cloudflare is worse than useless
# Cloudflare and its consequences have been a disaster for the cyberspace
I don't know about you. But I'm not much into Internet centralization.
Cloudflare is a MITM
Cloudflare stays between you and the server you're going to.
Cloudflare claims this is for "DDoS" protection and CDN.
Which is all good, until cloudflare thinks you're a bot.
Why can cloudflare think you're a bot? here are some reasons
* You use a browser cloudflare don't like
* you care about your privacy, so you use something like tor
* you want sane browser so you disable JS
If cloudflare thinks you're a bot, you'll have to enable JS and ~train
their AI~ solve a captcha to enter the website
If you don't mind click squares for 5 minutes (I once tried to solve
one of these captchas using tor+pale moon and i shit you not, i was
clicking squares for 5 minutes) you should know how this "DDoS
protection" works.
There is no DDoS protection actually, they just have a lot of
servers. So if a server is overloaded, they will just point your
website to another server.
Now, on the "bot" detection. Cloudflare claims to only block "bad
bots" and "attackers". how does this thing work?
Easy. via the **user-agent**. I believe it follows something like this
* Normal IP, most browsers user-agent -> pass
* Tor exit node IP, -> tor browser user-agent pass
* Tor exit node/VPN, -> any user agent but tor browser's -> captcha
Inmidiatly, people who knows how the HyperText Transfer Protocol
Secure works will say "How does Cloudflare know my user agent, the
user agent its passed in the request!"
This is because, despite having the green lock in the browser,
cloudflare **decrypts** all your traffic. All the usernames,
passwords, have passed in plain text through cloudflare's server.
You should [distrust cloudflare from your browser](/guides/distrust_cloudflare)
more info [here](https://git.fuwafuwa.moe/you/stop_cloudflare)

26
harmful/software/exa.md Normal file
View File

@ -0,0 +1,26 @@
# exa sucks
>NAME
> exa - a modern replacement for ls
Oh, a repleacement for ls!
~~~
qorg@satania ~ > exa -p
Unknown argument -p
~~~
Huh? Why can't I tell exa to put a / at the end of every directory?
~~~
qorg@satania ~> exa -s
Flag -s needs a value (choices: name, Name, size, extension, Extension,
modified, changed, accessed, created, inode, type, none)
~~~
HUH?
What was wrong with ls(1)?
Plus it's written in Rust.

View File

@ -0,0 +1,20 @@
# Gemini sucks
* One line per paragraph, or, 1000 chars long lines.
* No images
* But there are emojis!
* Mandatory TLS (Which gives poor support for hidden services)
The problem with the modern web is a social problem, not a protocol
problem. HTTP is a "good" protocol. The problem is JS, not HTTP, the
problem is multicorps, not HTTP. For example, websites in the darknet,
which are mostly personal websites are not insane, and guess what!
they use HTTP, not gemini
# Alternatives
* http lmao
* gopher if you want to be edgy
* ftp
* telnet
* finger

View File

@ -90,8 +90,8 @@ extensions are kinda useful. So I don't consider them harmful.
<td>runit, OpenRC, SysVinit</td>
</tr>
<tr>
<td>MIT, BSD</td>
<td>GPL, [VPL](https://viralpubliclicense.org/), [K9PL](https://gitlab.com/call-cc/k9core/-/raw/master/LICENSE)</td>
<td>GPL, LGPL</td>
<td>BSD, MIT, VPL, AGPL</td>
</tr>
<tr>
<td>pacman, dnf, yum, dpkg</td>

View File

@ -125,5 +125,6 @@ And this is what is needed to run a program written in electron:
[JAVASCRIPT WAS A MISTAKE](http://www.bordi.ga/blog_shit/js.html)
![Tom Araya can't scream like i'm internally screaming
rn](/1592614085502.png)
![](/1592614085502.png)
![](/1610633628.png)

View File

@ -0,0 +1,23 @@
diff --git a/harmful/software/gitlab.md b/harmful/software/gitlab.md
index 4b17284..6ea0919 100644
--- a/harmful/software/gitlab.md
+++ b/harmful/software/gitlab.md
@@ -13,14 +13,17 @@ What in the actual fuck?
* and it is esoteric JS
Still not convinced? Try installing gitlab from source while remaining sane.
+
Protip: you can't
https://docs.gitlab.com/ee/install/installation.html
If you still manage to get through this hell of a setup then enjoy the 700kB JS that it requires.
+```
$ curl --head https://gitlab.example.dom/assets/webpack/main.909b7bb7.chunk.js
HTTP/2 200
content-type: application/javascript
-**content-length: 692119**
+content-length: 692119
+```

View File

@ -27,6 +27,45 @@ support on 2020 and should not be used anymore. But [some
programmers](https://bugs.launchpad.net/calibre/+bug/1714107) do not
want to make the change.
Once, i removed python2.7 from my system (as it is obselete and should
never be used) and some python3 libraries stopped working for some
reason i don't understand.
# Mess in the filesystem
~~~
qorg@satania:/home/qorg $ xbps-query -l | grep python | wc -l
4
qorg@satania:/home/qorg $ ls -1 /usr/lib/python3.9/|wc -l
203
~~~
# Dependence hell
~~~
xbps-install poezio
python3-ply install - 3.11_4 -
python3-pycparser install - 2.20_1 -
python3-cffi install - 1.14.5_1 -
python3-pycares install - 3.1.1_3 -
python3-aiodns install - 2.0.0_2 -
python3-pyasn1 install - 0.4.8_3 -
python3-pyasn1-modules install - 0.2.8_4 -
python3-async-timeout install - 3.0.1_3 -
python3-attrs install - 20.3.0_1 -
python3-chardet install - 4.0.0_1 -
python3-idna install - 2.10_1 -
python3-idna-ssl install - 1.1.0_3 -
python3-multidict install - 5.1.0_1 -
python3-yarl install - 1.6.3_1 -
python3-typing_extensions install - 3.7.4.3_1 -
python3-aiohttp install - 3.7.4_1 -
python3-slixmpp install - 1.5.2_2 -
poezio install - 0.13.1_3 -
~~~
# Other stuff
What the hell is a \_\_main\_\_?

View File

@ -0,0 +1,18 @@
# haha, session!
Session is a IM that uses lokinet (lokinet website is cloudflared
though) and all of that
it claims to be P2P and E2E encrypted which i think it is real idk
but this is the problem:
![Session's website is cloudflared](/session.png)
If you don't know why cloudflare is harmful, please read
[this](/harmful/software/cloudflare)
# blockchains
Sending all messages through blockchain to be recorded forever is
something that really glows in dark.

View File

@ -78,9 +78,13 @@ because you need the private key to sign. Also the passphrase in any
sane implementation of OpenPGP, BTW F-Droid signs the packages
automatically.
# Signal desktop
<img src="/1610908987.png" width=700/>
# Centralization
Signal claims to be a P2P messenger, this is true I guess. But what is
Signal claims to be a P2P messenger[^1], this is true I guess. But what is
not true is that the whole system is P2P. It has **centralized
servers**
@ -112,13 +116,24 @@ Because they're trying to convince computer novices to use a secure
IM, you know, I don't expect my grandmother to setup her own XMPP
server. But I can expect her to use Signal since it is made for novices.
# Paranoia
Jack (Twitter's CEO), Elon Musk (Guy who wants to literally backdoor your brain) are suddendly recommending signal.
These guys sells your data to the highest bidder, why are them suddendly recommending a "private" and "secure" IM?
# Conclusion
XMPP does not have any of these problems.
Okay, Signal is good, but the things we have talked about here is not
Okay, <s>Signal is good</s>, but the things we have talked about here is not
what you expect from a "security focused" program. The chat itself is
P2P, and that's good. Also it is encrypted. So if you have to choose
between \<big corporate owned IM\> and Signal, choose Signal.
Did I mention it needs phone number to work?
[^1]: Signal services died in 2021-01-15. How could have this have
happened is it is P2P?

View File

@ -32,9 +32,11 @@ that RSS feed.
Please note that that RSS feed can have any kind of crap. From "fixed
typos" to a whole new article. Anyways, I hope it helps you.
<a href="http://killnod2s77o3axkktdu52aqmmy4acisz2gicbhjm4xbvxa2zfftteyd.onion/">Onion</a><br/>
[Eepsite](http://3i3bbs2zfabyleqxcqueeegakutrtk3hbxmvbtkrgwvetlmity4q.b32.i2p/)<br/>
<img src="/satania.jpg" width=500>
## TODO
This website is somehow outdated.
<img src="/satania.jpg" width=500 alt="satania">
<pre style="color:#000000; font-size:10pt; font-family:'Courier New',monospace;"><span style="color:#000000">(</span><span style="color:#000000; font-weight:bold">defconstant</span> NUMBER_OF_PEOPLE <span style="color:#b07e00">10</span><span style="color:#000000">)</span>
<span style="color:#000000">(</span><span style="color:#000000; font-weight:bold">defvar</span> <span style="color:#000000">*</span>i<span style="color:#000000">*</span> <span style="color:#b07e00">0</span><span style="color:#000000">)</span>
@ -53,3 +55,5 @@ typos" to a whole new article. Anyways, I hope it helps you.
car car car car cdr cdr cdr cdr car cdr eval apply car cdr eval apply car cdr eval apply car cdr eval apply car cdr eval apply car cdr eval apply
We are the most honored hackers that have put a feet in this earth in million of years... and we are not honored.

View File

@ -65,7 +65,7 @@ Awesome! This server seems good!
Aw, shit.
Good server. But be sure to always use OMEMO/PGP/OTR so this last point
is less harmful. Middle tier.
is less harmful. High tier.
404.city
========
@ -322,7 +322,7 @@ But now we have this:
>Requested Domain: e.g. chat.sum7.eu
>Duration of delivery: How long a request take time (in histogram cumulated in buckets)
Thought you guys didn't send anything!
Thought you guys didn't save anything!
>For easy use, there is Message Archiving enabled by
>default. Hopefully you use OMEMO or you should disable MAM. Otherwise

View File

@ -0,0 +1,35 @@
# Freenet rocks!
Freenet is a content-based anonymous network, this means, that unlike
tor, it is based only in content rather than services, you don't
need. a webserver to host a website in freenet. You only have to
insert it.
Then, when you have that website uploaded in freenet, you'll be
seeding it, other people will visit and they'll become seeders as
well! So you can turn off your computer, and the website will be still
accessible!
Any content you download will be kept in the datastore, a encrypted
file that has every content you've visited in freenet. This file is
encrypted and can be only decrypted with the keys. There are 4 types
of keys but the most important are:
* SSK: Signed Subspace Keys. For content that will change, like a website
* USK: Updateable Subspace Keys. Useful for getting the latest version of a SSK key
* CHK: Content Hash Keys, Used for static content, such as pdfs, images...
This is a freenet URL: <http://127.0.0.1:8888/USK@wA57L-2IJYwx6wOrLyKEpS6NHXRrSUXNWJNfu9T5gc4,twOe8gGJw~8~p-ICxazYTVduvS4RJZfiLUKRmRzo3so,AQACAAE/qorg/34/>
It has it scheme: http://FPROXYADDRESS:/KEYTYPE@DECRYPTIONKEY/DOCUMENT/VERSION/
Notice how freenet has "versions" this in freesites are some kind of
wayback machine. You can go to *any* version of a freesite by
modifying the URL, for example: http://127.0.0.1:8888/SSK@wA57L-2IJYwx6wOrLyKEpS6NHXRrSUXNWJNfu9T5gc4,twOe8gGJw~8~p-ICxazYTVduvS4RJZfiLUKRmRzo3so,AQACAAE/qorg-1/
That will take you to the first version of my freesite
There are some plugins to Freenet, like Frost or Sore, which enables
social media over freenet.

25
rocks/people/acz.md Normal file
View File

@ -0,0 +1,25 @@
# acz is the most awesome person in the internet
[His website](https://acz.kalli.st)
## Software
He has worked on much software, such as outvidious (youtube frontend,
that unlike invidous, usually works) and aoydl (acz own youtube-dl)
which is a youtube-dl in less than 30 lines i think and without the
evil python dependency. He's currently working on a ftpd written in
Tcl
## Quotes
- OMEME is backdoreed
- OMEME messages go directly to CIA
- Go is backdoreed
- Libreboot binaries are backdoored
- Tor browser is backdoored
- Spooky
- There is no free lunch. That's why I wait for dinner
## Politics
Based egominarchist

View File

@ -1,8 +1,8 @@
# posweg rocks
# dendy rocks
they just run <https://posweg.es> which is just their personal website,
they use cleg for <https://blog.posweg.es> (which is my blog software
:p) But they're also an awesome artist:
they just run <https://fai.su> which is just their personal website,
they use cleg for <https://blog.dendy.es> (which is my blog software
:p) But they're also an awesome artist:
<a href="https://pbs.twimg.com/media/EVV3XrqWoAwEvPH?format=jpg">
<img src="https://pbs.twimg.com/media/EVV3XrqWoAwEvPH?format=jpg" width=150px>
@ -11,4 +11,4 @@ they use cleg for <https://blog.posweg.es> (which is my blog software
<img src="https://i.delegao.moe/zce9l43P.jpg" width=150px>
</a>
He also converted to Emacs recently :p
They also converted to Emacs recently :p

1
rocks/people/index.md Normal file
View File

@ -0,0 +1 @@
# Kill-9 hall of fame

4
rocks/people/rawilson.md Normal file
View File

@ -0,0 +1,4 @@
# Robert Anton Wilson
Author, Discordian pope, Subgenius pope (pope bob), Grand Master of the
Illuminati.

View File

@ -1,24 +1,19 @@
# Suguivy rocks
>More and more traditional programmers and developers appear, because they are t
>result of a business need. But hackers are not the result of it. Hackers are
>individuals who dedicate themselves to their field out of sheer will. So the number o
>developers increases, but not hackers.
>More and more traditional programmers and developers appear, because
>they are the result of a business need. But hackers are not the
>result of it. Hackers are individuals who dedicate themselves to
>their field out of sheer will. So the number of developers increases,
>but not hackers.
— Suguivy about Lisp not being popular these days.
--- Suguivy about Lisp not being popular these days.
>Object-oriented programming is a quite unnecesary evolution of programming
>paradigms.
>Object-oriented programming is for those programmers who don't know
>how to program
— Suguivy about something which could only have originated in California
--- Suguivy about something which could only have originated in California
they just a programmer which runs <https://nei.su> They has done an attempt of text
editor <https://github.com/suguivy/ced> They had read SICP almost entirely. So respect
them.
they just a programmer which runs
<https://dragon-libre.duckdns.org>. They has done an attempt of text
editor <https://github.com/suguivy/ced>. They had read SICP almost
entirely. So respect them.
They has also created a pokemon mistery dungeon randomizer (like
randomlockes but for mistery dungeon) and a nes emulator which is
pretty dead and don't actually emulates games. but it gives you
information about the .nes file)
They has also created a pokemon mistery dungeon randomizer (like randomlockes but for
mistery dungeon) and some attempts of implementations of their own Lisp dialects. And
they is a Haskell hacker.

BIN
session.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

@ -9,13 +9,16 @@ To install these themes, just use stylus, since stylish is botnet.
These themes are in the public domain.
[SICP](https://kill-9.xyz/sicp.css)
[SICP](/sicp.css)
[Yotsuba](https://kill-9.xyz/yotsuba.css)
[Yotsuba](/yotsuba.css)
[Yotsuba B](https://kill-9.xyz/yotsubab.css)
[Yotsuba B](/yotsubab.css)
[Tomorrow](https://kill-9.xyz/tomorrow.css)
[Tomorrow](/tomorrow.css)
[Fauux](https://kill-9.xyz/fauux.css)
[Fauux](fauux.css)
[cat -v](/cat-v.css)
[Dark Green](/darkgreen.css)

5
who.md
View File

@ -1,5 +1,6 @@
# who
This website is made by its contributors, and the main ones are qorg11 and callcc
This website is made by its contributors and hosted by [qorg11](https://qorg11.net).
You can contact them on email, with the email addresses qorg@vxempire.xyz and callcc@vxempire.xyz
You can get a list of the contributors
[here](https://codeberg.org/qorg11/kill9/commits/branch/master)