<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://cc.practices.tools/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Manetta</id>
	<title>Creative Crowds wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://cc.practices.tools/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Manetta"/>
	<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/Special:Contributions/Manetta"/>
	<updated>2026-11-01T13:38:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Ccmeetsskynetfellowshipdefeatingsauron&amp;diff=5656</id>
		<title>Ccmeetsskynetfellowshipdefeatingsauron</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Ccmeetsskynetfellowshipdefeatingsauron&amp;diff=5656"/>
		<updated>2026-10-30T11:29:34Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://cc.practices.tools/pad/p/laura-palmers-revenge&lt;br /&gt;
&lt;br /&gt;
==First attempt 30 Oct==&lt;br /&gt;
&lt;br /&gt;
(pad copy/paste below)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tail -f /var/log/nginx/access.log&lt;br /&gt;
&amp;gt;&amp;gt; nginx + etherdot + wiki + pad + octomode &lt;br /&gt;
sudo tail -f /var/log/nginx/error.log &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anubis&lt;br /&gt;
(the thing with the anime girl which open a first page before the actual page, plus it also uses blacklists)&lt;br /&gt;
https://anubis.techaro.lol/docs/admin/installation&lt;br /&gt;
known peers using it:&lt;br /&gt;
&amp;gt; varia&lt;br /&gt;
    certain challenge levels: restrict/relaxed&lt;br /&gt;
    discussion on banning every IP out of netherlands (radical but radically cool)&lt;br /&gt;
    alex on Mastodon (https://post.lurk.org/deck/@catileptic@chaos.social) suggested using crowdsec to luke&lt;br /&gt;
&amp;gt; domainepublic.net&lt;br /&gt;
&lt;br /&gt;
sometimes anubis is annoying for hand-made webpages, because you can&#039;t curl etc&lt;br /&gt;
curling a pad is possibly not working anymore?&lt;br /&gt;
or, opening a pad in a iframe might not work anymore?&lt;br /&gt;
&lt;br /&gt;
INSTALL ANUBIS FOR THE WIKI&lt;br /&gt;
https://anubis.techaro.lol/docs/admin/installation&lt;br /&gt;
question: does wiki-to-print still work with anubis?&lt;br /&gt;
&lt;br /&gt;
https://anubis.techaro.lol/docs/admin/native-install/&lt;br /&gt;
&lt;br /&gt;
putting anubis deb file in the friend home folder:&lt;br /&gt;
cd /home/friend/&lt;br /&gt;
wget https://github.com/TecharoHQ/anubis/releases/download/v1.28.2/anubis_1.28.2_amd64.deb&lt;br /&gt;
sudo apt install ./anubis_1.28.2_amd64.deb &lt;br /&gt;
&lt;br /&gt;
copy default config file&lt;br /&gt;
sudo cp /etc/anubis/default.env /etc/anubis/wiki.env&lt;br /&gt;
&lt;br /&gt;
sudo cp /usr/share/doc/anubis/botPolicies.yaml /etc/anubis/wiki.botPolicies.yaml&lt;br /&gt;
&lt;br /&gt;
cd /etc/anubis/&lt;br /&gt;
sudo nano wiki.env&lt;br /&gt;
&lt;br /&gt;
https://anubis.techaro.lol/docs/admin/installation/#environment-variables&lt;br /&gt;
&lt;br /&gt;
- BIND: The network address that Anubis listens on. For unix, set this to a path: /run/anubis/instance.sock&lt;br /&gt;
- DIFFICULTY: The difficulty of the challenge, or the number of leading zeroes that must be in successful responses.&lt;br /&gt;
- METRIC_BIND: The legacy configuration value for the network address that Anubis serves Prometheus metrics on. Please migrate this to the policy file as soon as possible.&lt;br /&gt;
- SERVE_ROBOTS_TXT: If set true, Anubis will serve a default robots.txt file that disallows all known AI scrapers by name and then additionally disallows every scraper. This is useful if facts and circumstances make it difficult to change the underlying service to serve such a robots.txt file.&lt;br /&gt;
- TARGET: The URL of the service that Anubis should forward valid requests to. Supports Unix domain sockets, set this to a URI like so: unix:///path/to/socket.sock.&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; external URL: cc.practices.tools/wiki/&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; internal process: php-fpm socket&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    checking nginx...&lt;br /&gt;
&lt;br /&gt;
    sudo nano /etc/nginx/sites-available/default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    php runs on this sockets&lt;br /&gt;
&lt;br /&gt;
    unix:/run/php/php8.4-fpm.sock&lt;br /&gt;
&lt;br /&gt;
    if we use this for anubis, it will be active on all php connections&lt;br /&gt;
&lt;br /&gt;
    let&#039;s try it....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    sudo nano /etc/anubis/wiki.env&lt;br /&gt;
&lt;br /&gt;
    TARGET=unix:/run/php/php8.4-fpm.sock&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo systemctl enable --now anubis@wiki.service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
now test to see if it is running&lt;br /&gt;
curl http://localhost:9090/metrics&lt;br /&gt;
looks good&lt;br /&gt;
&lt;br /&gt;
then setup nginx&lt;br /&gt;
https://anubis.techaro.lol/docs/admin/environments/nginx/&lt;br /&gt;
&lt;br /&gt;
    (1) we are adding an anubis upstream at the bottom of the default conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    upstream anubis {&lt;br /&gt;
&lt;br /&gt;
      # Make sure this matches the values you set for `BIND` and `BIND_NETWORK`.&lt;br /&gt;
&lt;br /&gt;
      # If this does not match, your services will not be protected by Anubis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      # Try anubis first over a UNIX socket&lt;br /&gt;
&lt;br /&gt;
      server unix:/run/anubis/nginx.sock;&lt;br /&gt;
&lt;br /&gt;
      #server 127.0.0.1:8923;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      # Optional: fall back to serving the websites directly. This allows your&lt;br /&gt;
&lt;br /&gt;
      # websites to be resilient against Anubis failing, at the risk of exposing&lt;br /&gt;
&lt;br /&gt;
      # them to the raw internet without protection. This is a tradeoff and can&lt;br /&gt;
&lt;br /&gt;
      # be worth it in some edge cases.&lt;br /&gt;
&lt;br /&gt;
      #server unix:/run/nginx.sock backup;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    (2) redirect /wiki/ to anubis&lt;br /&gt;
&lt;br /&gt;
    location /wiki/ {&lt;br /&gt;
&lt;br /&gt;
      proxy_set_header Host $host;&lt;br /&gt;
&lt;br /&gt;
      proxy_set_header X-Real-IP $remote_addr;&lt;br /&gt;
&lt;br /&gt;
      proxy_set_header X-TLS-SNI-Name $ssl_server_name;&lt;br /&gt;
&lt;br /&gt;
      proxy_pass http://anubis;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    (3) create a &amp;quot;nginx backend block&amp;quot; that anubis will point to&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # Backend server, this is where your webapp should actually live.&lt;br /&gt;
&lt;br /&gt;
    server {&lt;br /&gt;
&lt;br /&gt;
      listen unix:/run/nginx/nginx.sock;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      # Get the visiting IP from the TLS termination server&lt;br /&gt;
&lt;br /&gt;
      set_real_ip_from unix:;&lt;br /&gt;
&lt;br /&gt;
      real_ip_header X-Real-IP;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      rewrite ^/wiki/(?&amp;lt;pagename&amp;gt;.*)$ /wiki/index.php;&lt;br /&gt;
&lt;br /&gt;
      alias /var/www/wiki/;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    (4) we add http2 on at the top of the conf&lt;br /&gt;
&lt;br /&gt;
    http2 on;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!!! we made a backup of the pre-anubis nginx config here: /etc/nginx/sites-available/default-withoutanubis&lt;br /&gt;
&lt;br /&gt;
sudo nginx -t &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2026/10/30 12:14:15 [emerg] 1969123#1969123: &amp;quot;server&amp;quot; directive is not allowed here in /etc/nginx/sites-enabled/default:143&lt;br /&gt;
nginx: configuration file /etc/nginx/nginx.conf test failed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hmm....&lt;br /&gt;
&lt;br /&gt;
we move the backend server block outside, at the bottom of the default conf&lt;br /&gt;
&lt;br /&gt;
sudo nginx -t&lt;br /&gt;
&lt;br /&gt;
2026/10/30 12:15:46 [emerg] 1969139#1969139: &amp;quot;alias&amp;quot; directive is not allowed here in /etc/nginx/sites-enabled/default:224&lt;br /&gt;
nginx: configuration file /etc/nginx/nginx.conf test failed&lt;br /&gt;
&lt;br /&gt;
changing &amp;quot;alias&amp;quot; to &amp;quot;root&amp;quot;...&lt;br /&gt;
&lt;br /&gt;
sudo nginx -t&lt;br /&gt;
&lt;br /&gt;
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok&lt;br /&gt;
nginx: [emerg] bind() to unix:/run/nginx/nginx.sock failed (2: No such file or directory)&lt;br /&gt;
nginx: configuration file /etc/nginx/nginx.conf test failed&lt;br /&gt;
&lt;br /&gt;
hmm, yes, our setup does not match the anubis examples...&lt;br /&gt;
&lt;br /&gt;
WHY?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- we are only applying anubis to the wiki, which comes off https://cc.practices.tools/wiki/&lt;br /&gt;
- we are not using a subdomain for the wiki &lt;br /&gt;
&lt;br /&gt;
    we do not use subdomains for the difference things we run on the server (wiki/pad/etherdot/octomode/wiki-to-print....) because we use one cc subdomain for everything. &lt;br /&gt;
&lt;br /&gt;
    the examples are based on the commonly used method to split nginx config files between services&lt;br /&gt;
&lt;br /&gt;
- the examples use anubis on one full config file (not just a part of it, like we do with the wiki)&lt;br /&gt;
&lt;br /&gt;
next steps we can take:&lt;br /&gt;
&lt;br /&gt;
- we can ask luke if he set up anubis on a subfolder (so not a subdomain)? &lt;br /&gt;
- ask the fedverse hivemind&lt;br /&gt;
&lt;br /&gt;
for now: &lt;br /&gt;
&lt;br /&gt;
- we place the non-anubis config back, as default&lt;br /&gt;
- default-with-anubis still holds the changes we made today&lt;br /&gt;
&lt;br /&gt;
sudo nginx -t&lt;br /&gt;
sudo systemctl reload nginx&lt;br /&gt;
&lt;br /&gt;
that&#039;s it for today&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iocaine&lt;br /&gt;
https://iocaine.madhouse-project.org/&lt;br /&gt;
&lt;br /&gt;
superlowtech hacky alternatives&lt;br /&gt;
&amp;gt; titipi, did something similar with just a page that takes 3sec to go to the actual website (most bot don&#039;t go that far?)&lt;br /&gt;
- look on the titipi wiki if they documented what they did&lt;br /&gt;
https://titipi.org/wiki/index.php/Anticamera&lt;br /&gt;
would be interesting to find the git repo&lt;br /&gt;
feels very intentional and i love intentional software&lt;br /&gt;
&lt;br /&gt;
Crowdsec&lt;br /&gt;
(list of IP you blacklist or whitelist)&lt;br /&gt;
https://github.com/crowdsecurity/crowdsec&lt;br /&gt;
&lt;br /&gt;
crowdsec passes malicious IPs (also from a crowd-sourced database) to a blocklist&lt;br /&gt;
&lt;br /&gt;
* https://docs.crowdsec.net/u/bouncers/nginx/&lt;br /&gt;
* https://docs.crowdsec.net/u/bouncers/firewall/&lt;br /&gt;
&lt;br /&gt;
for monitoring:&lt;br /&gt;
* https://prometheus.io/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
crawlers that are visiting CC&lt;br /&gt;
- Lightpanda/1.0 https://lightpanda.io/, headless browser&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysadmin]]&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Ccmeetsskynetfellowshipdefeatingsauron&amp;diff=5655</id>
		<title>Ccmeetsskynetfellowshipdefeatingsauron</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Ccmeetsskynetfellowshipdefeatingsauron&amp;diff=5655"/>
		<updated>2026-10-30T11:29:16Z</updated>

		<summary type="html">&lt;p&gt;Manetta: Created page with &amp;quot;https://cc.practices.tools/pad/p/laura-palmers-revenge  ==First attemptpad 30 Oct==  (pad copy/paste below)   &amp;lt;pre&amp;gt; sudo tail -f /var/log/nginx/access.log &amp;gt;&amp;gt; nginx + etherdot + wiki + pad + octomode  sudo tail -f /var/log/nginx/error.log     Anubis (the thing with the anime girl which open a first page before the actual page, plus it also uses blacklists) https://anubis.techaro.lol/docs/admin/installation known peers using it: &amp;gt; varia     certain challenge levels: restri...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://cc.practices.tools/pad/p/laura-palmers-revenge&lt;br /&gt;
&lt;br /&gt;
==First attemptpad 30 Oct==&lt;br /&gt;
&lt;br /&gt;
(pad copy/paste below)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tail -f /var/log/nginx/access.log&lt;br /&gt;
&amp;gt;&amp;gt; nginx + etherdot + wiki + pad + octomode &lt;br /&gt;
sudo tail -f /var/log/nginx/error.log &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anubis&lt;br /&gt;
(the thing with the anime girl which open a first page before the actual page, plus it also uses blacklists)&lt;br /&gt;
https://anubis.techaro.lol/docs/admin/installation&lt;br /&gt;
known peers using it:&lt;br /&gt;
&amp;gt; varia&lt;br /&gt;
    certain challenge levels: restrict/relaxed&lt;br /&gt;
    discussion on banning every IP out of netherlands (radical but radically cool)&lt;br /&gt;
    alex on Mastodon (https://post.lurk.org/deck/@catileptic@chaos.social) suggested using crowdsec to luke&lt;br /&gt;
&amp;gt; domainepublic.net&lt;br /&gt;
&lt;br /&gt;
sometimes anubis is annoying for hand-made webpages, because you can&#039;t curl etc&lt;br /&gt;
curling a pad is possibly not working anymore?&lt;br /&gt;
or, opening a pad in a iframe might not work anymore?&lt;br /&gt;
&lt;br /&gt;
INSTALL ANUBIS FOR THE WIKI&lt;br /&gt;
https://anubis.techaro.lol/docs/admin/installation&lt;br /&gt;
question: does wiki-to-print still work with anubis?&lt;br /&gt;
&lt;br /&gt;
https://anubis.techaro.lol/docs/admin/native-install/&lt;br /&gt;
&lt;br /&gt;
putting anubis deb file in the friend home folder:&lt;br /&gt;
cd /home/friend/&lt;br /&gt;
wget https://github.com/TecharoHQ/anubis/releases/download/v1.28.2/anubis_1.28.2_amd64.deb&lt;br /&gt;
sudo apt install ./anubis_1.28.2_amd64.deb &lt;br /&gt;
&lt;br /&gt;
copy default config file&lt;br /&gt;
sudo cp /etc/anubis/default.env /etc/anubis/wiki.env&lt;br /&gt;
&lt;br /&gt;
sudo cp /usr/share/doc/anubis/botPolicies.yaml /etc/anubis/wiki.botPolicies.yaml&lt;br /&gt;
&lt;br /&gt;
cd /etc/anubis/&lt;br /&gt;
sudo nano wiki.env&lt;br /&gt;
&lt;br /&gt;
https://anubis.techaro.lol/docs/admin/installation/#environment-variables&lt;br /&gt;
&lt;br /&gt;
- BIND: The network address that Anubis listens on. For unix, set this to a path: /run/anubis/instance.sock&lt;br /&gt;
- DIFFICULTY: The difficulty of the challenge, or the number of leading zeroes that must be in successful responses.&lt;br /&gt;
- METRIC_BIND: The legacy configuration value for the network address that Anubis serves Prometheus metrics on. Please migrate this to the policy file as soon as possible.&lt;br /&gt;
- SERVE_ROBOTS_TXT: If set true, Anubis will serve a default robots.txt file that disallows all known AI scrapers by name and then additionally disallows every scraper. This is useful if facts and circumstances make it difficult to change the underlying service to serve such a robots.txt file.&lt;br /&gt;
- TARGET: The URL of the service that Anubis should forward valid requests to. Supports Unix domain sockets, set this to a URI like so: unix:///path/to/socket.sock.&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; external URL: cc.practices.tools/wiki/&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; internal process: php-fpm socket&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    checking nginx...&lt;br /&gt;
&lt;br /&gt;
    sudo nano /etc/nginx/sites-available/default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    php runs on this sockets&lt;br /&gt;
&lt;br /&gt;
    unix:/run/php/php8.4-fpm.sock&lt;br /&gt;
&lt;br /&gt;
    if we use this for anubis, it will be active on all php connections&lt;br /&gt;
&lt;br /&gt;
    let&#039;s try it....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    sudo nano /etc/anubis/wiki.env&lt;br /&gt;
&lt;br /&gt;
    TARGET=unix:/run/php/php8.4-fpm.sock&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo systemctl enable --now anubis@wiki.service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
now test to see if it is running&lt;br /&gt;
curl http://localhost:9090/metrics&lt;br /&gt;
looks good&lt;br /&gt;
&lt;br /&gt;
then setup nginx&lt;br /&gt;
https://anubis.techaro.lol/docs/admin/environments/nginx/&lt;br /&gt;
&lt;br /&gt;
    (1) we are adding an anubis upstream at the bottom of the default conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    upstream anubis {&lt;br /&gt;
&lt;br /&gt;
      # Make sure this matches the values you set for `BIND` and `BIND_NETWORK`.&lt;br /&gt;
&lt;br /&gt;
      # If this does not match, your services will not be protected by Anubis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      # Try anubis first over a UNIX socket&lt;br /&gt;
&lt;br /&gt;
      server unix:/run/anubis/nginx.sock;&lt;br /&gt;
&lt;br /&gt;
      #server 127.0.0.1:8923;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      # Optional: fall back to serving the websites directly. This allows your&lt;br /&gt;
&lt;br /&gt;
      # websites to be resilient against Anubis failing, at the risk of exposing&lt;br /&gt;
&lt;br /&gt;
      # them to the raw internet without protection. This is a tradeoff and can&lt;br /&gt;
&lt;br /&gt;
      # be worth it in some edge cases.&lt;br /&gt;
&lt;br /&gt;
      #server unix:/run/nginx.sock backup;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    (2) redirect /wiki/ to anubis&lt;br /&gt;
&lt;br /&gt;
    location /wiki/ {&lt;br /&gt;
&lt;br /&gt;
      proxy_set_header Host $host;&lt;br /&gt;
&lt;br /&gt;
      proxy_set_header X-Real-IP $remote_addr;&lt;br /&gt;
&lt;br /&gt;
      proxy_set_header X-TLS-SNI-Name $ssl_server_name;&lt;br /&gt;
&lt;br /&gt;
      proxy_pass http://anubis;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    (3) create a &amp;quot;nginx backend block&amp;quot; that anubis will point to&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # Backend server, this is where your webapp should actually live.&lt;br /&gt;
&lt;br /&gt;
    server {&lt;br /&gt;
&lt;br /&gt;
      listen unix:/run/nginx/nginx.sock;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      # Get the visiting IP from the TLS termination server&lt;br /&gt;
&lt;br /&gt;
      set_real_ip_from unix:;&lt;br /&gt;
&lt;br /&gt;
      real_ip_header X-Real-IP;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      rewrite ^/wiki/(?&amp;lt;pagename&amp;gt;.*)$ /wiki/index.php;&lt;br /&gt;
&lt;br /&gt;
      alias /var/www/wiki/;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    (4) we add http2 on at the top of the conf&lt;br /&gt;
&lt;br /&gt;
    http2 on;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!!! we made a backup of the pre-anubis nginx config here: /etc/nginx/sites-available/default-withoutanubis&lt;br /&gt;
&lt;br /&gt;
sudo nginx -t &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2026/10/30 12:14:15 [emerg] 1969123#1969123: &amp;quot;server&amp;quot; directive is not allowed here in /etc/nginx/sites-enabled/default:143&lt;br /&gt;
nginx: configuration file /etc/nginx/nginx.conf test failed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hmm....&lt;br /&gt;
&lt;br /&gt;
we move the backend server block outside, at the bottom of the default conf&lt;br /&gt;
&lt;br /&gt;
sudo nginx -t&lt;br /&gt;
&lt;br /&gt;
2026/10/30 12:15:46 [emerg] 1969139#1969139: &amp;quot;alias&amp;quot; directive is not allowed here in /etc/nginx/sites-enabled/default:224&lt;br /&gt;
nginx: configuration file /etc/nginx/nginx.conf test failed&lt;br /&gt;
&lt;br /&gt;
changing &amp;quot;alias&amp;quot; to &amp;quot;root&amp;quot;...&lt;br /&gt;
&lt;br /&gt;
sudo nginx -t&lt;br /&gt;
&lt;br /&gt;
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok&lt;br /&gt;
nginx: [emerg] bind() to unix:/run/nginx/nginx.sock failed (2: No such file or directory)&lt;br /&gt;
nginx: configuration file /etc/nginx/nginx.conf test failed&lt;br /&gt;
&lt;br /&gt;
hmm, yes, our setup does not match the anubis examples...&lt;br /&gt;
&lt;br /&gt;
WHY?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- we are only applying anubis to the wiki, which comes off https://cc.practices.tools/wiki/&lt;br /&gt;
- we are not using a subdomain for the wiki &lt;br /&gt;
&lt;br /&gt;
    we do not use subdomains for the difference things we run on the server (wiki/pad/etherdot/octomode/wiki-to-print....) because we use one cc subdomain for everything. &lt;br /&gt;
&lt;br /&gt;
    the examples are based on the commonly used method to split nginx config files between services&lt;br /&gt;
&lt;br /&gt;
- the examples use anubis on one full config file (not just a part of it, like we do with the wiki)&lt;br /&gt;
&lt;br /&gt;
next steps we can take:&lt;br /&gt;
&lt;br /&gt;
- we can ask luke if he set up anubis on a subfolder (so not a subdomain)? &lt;br /&gt;
- ask the fedverse hivemind&lt;br /&gt;
&lt;br /&gt;
for now: &lt;br /&gt;
&lt;br /&gt;
- we place the non-anubis config back, as default&lt;br /&gt;
- default-with-anubis still holds the changes we made today&lt;br /&gt;
&lt;br /&gt;
sudo nginx -t&lt;br /&gt;
sudo systemctl reload nginx&lt;br /&gt;
&lt;br /&gt;
that&#039;s it for today&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iocaine&lt;br /&gt;
https://iocaine.madhouse-project.org/&lt;br /&gt;
&lt;br /&gt;
superlowtech hacky alternatives&lt;br /&gt;
&amp;gt; titipi, did something similar with just a page that takes 3sec to go to the actual website (most bot don&#039;t go that far?)&lt;br /&gt;
- look on the titipi wiki if they documented what they did&lt;br /&gt;
https://titipi.org/wiki/index.php/Anticamera&lt;br /&gt;
would be interesting to find the git repo&lt;br /&gt;
feels very intentional and i love intentional software&lt;br /&gt;
&lt;br /&gt;
Crowdsec&lt;br /&gt;
(list of IP you blacklist or whitelist)&lt;br /&gt;
https://github.com/crowdsecurity/crowdsec&lt;br /&gt;
&lt;br /&gt;
crowdsec passes malicious IPs (also from a crowd-sourced database) to a blocklist&lt;br /&gt;
&lt;br /&gt;
* https://docs.crowdsec.net/u/bouncers/nginx/&lt;br /&gt;
* https://docs.crowdsec.net/u/bouncers/firewall/&lt;br /&gt;
&lt;br /&gt;
for monitoring:&lt;br /&gt;
* https://prometheus.io/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
crawlers that are visiting CC&lt;br /&gt;
- Lightpanda/1.0 https://lightpanda.io/, headless browser&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysadmin]]&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Update_Etherpad&amp;diff=5654</id>
		<title>Update Etherpad</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Update_Etherpad&amp;diff=5654"/>
		<updated>2026-10-02T15:08:14Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to update Etherpad? &lt;br /&gt;
&lt;br /&gt;
Etherpad is installed from the git master branch (see [[Install Etherpad-lite]]).&lt;br /&gt;
&lt;br /&gt;
So... do we just do a &amp;lt;code&amp;gt;git pull?&amp;lt;/code&amp;gt; on this branch to update Etherpad???&lt;br /&gt;
&lt;br /&gt;
This feels wild.&lt;br /&gt;
&lt;br /&gt;
Aha oke there is a built-in update system: https://docs.etherpad.org/admin/updates.html.&lt;br /&gt;
&lt;br /&gt;
The cc.practices.tools/pad/admin URL is broken... the /pad/ path breaks the admin URL route. (Hmm....) &lt;br /&gt;
&lt;br /&gt;
Alternative: we can access it through http://193.170.194.207:9001/admin/. &lt;br /&gt;
&lt;br /&gt;
BUT you can only use the /admin when it&#039;s activated in the settings.json file. I disabled it after the cybersecurity mail, but am enabling it now to test if it works.&lt;br /&gt;
&lt;br /&gt;
When trying to log in though, i get a [https://http.cat/401 401 error]....&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2026-10-02 17-05-11.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Hmm...&lt;br /&gt;
&lt;br /&gt;
I deactivated the admin login again. (is_admin = false)&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Update_Etherpad&amp;diff=5653</id>
		<title>Update Etherpad</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Update_Etherpad&amp;diff=5653"/>
		<updated>2026-10-02T15:07:47Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to update Etherpad? &lt;br /&gt;
&lt;br /&gt;
Etherpad is installed from the git master branch (see [[Install Etherpad-lite]]).&lt;br /&gt;
&lt;br /&gt;
So... do we just do a &amp;lt;code&amp;gt;git pull?&amp;lt;/code&amp;gt; on this branch to update Etherpad???&lt;br /&gt;
&lt;br /&gt;
This feels wild.&lt;br /&gt;
&lt;br /&gt;
Aha oke there is a built-in update system: https://docs.etherpad.org/admin/updates.html.&lt;br /&gt;
&lt;br /&gt;
We can access it through http://193.170.194.207:9001/admin/. &lt;br /&gt;
&lt;br /&gt;
The cc.practices.tools/pad/admin URL is broken... the /pad/ path breaks the admin URL route. (Hmm....) &lt;br /&gt;
&lt;br /&gt;
BUT you can only use the /admin when it&#039;s activated in the settings.json file. I disabled it after the cybersecurity mail, but am enabling it now to test if it works.&lt;br /&gt;
&lt;br /&gt;
When trying to log in though, i get a [https://http.cat/401 401 error]....&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2026-10-02 17-05-11.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Hmm...&lt;br /&gt;
&lt;br /&gt;
I deactivated the admin login again. (is_admin = false)&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Update_Etherpad&amp;diff=5652</id>
		<title>Update Etherpad</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Update_Etherpad&amp;diff=5652"/>
		<updated>2026-10-02T15:07:40Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to update Etherpad? &lt;br /&gt;
&lt;br /&gt;
Etherpad is installed from the git master branch (see [[Install Etherpad-lite]]).&lt;br /&gt;
&lt;br /&gt;
So... do we just do a &amp;lt;code&amp;gt;git pull?&amp;lt;/code&amp;gt; on this branch to update Etherpad???&lt;br /&gt;
&lt;br /&gt;
This feels wild.&lt;br /&gt;
&lt;br /&gt;
Aha oke there is a built-in update system: https://docs.etherpad.org/admin/updates.html.&lt;br /&gt;
&lt;br /&gt;
We can access it through http://193.170.194.207:9001/admin/. &lt;br /&gt;
&lt;br /&gt;
The cc.practices.tools/pad/admin URL is broken... the /pad/ path breaks the admin URL route. (Hmm....) &lt;br /&gt;
&lt;br /&gt;
BUT you can only use the /admin when it&#039;s activated in the settings.json file. I disabled it after the cybersecurity mail, but am enabling it now to test if it works.&lt;br /&gt;
&lt;br /&gt;
When trying to log in, i get a [https://http.cat/401 401 error]....&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2026-10-02 17-05-11.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Hmm...&lt;br /&gt;
&lt;br /&gt;
I deactivated the admin login again. (is_admin = false)&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Update_Etherpad&amp;diff=5651</id>
		<title>Update Etherpad</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Update_Etherpad&amp;diff=5651"/>
		<updated>2026-10-02T15:05:49Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to update Etherpad? &lt;br /&gt;
&lt;br /&gt;
Etherpad is installed from the git master branch (see [[Install Etherpad-lite]]).&lt;br /&gt;
&lt;br /&gt;
So... do we just do a &amp;lt;code&amp;gt;git pull?&amp;lt;/code&amp;gt; on this branch to update Etherpad???&lt;br /&gt;
&lt;br /&gt;
This feels wild.&lt;br /&gt;
&lt;br /&gt;
Aha oke there is a built-in update system: https://docs.etherpad.org/admin/updates.html.&lt;br /&gt;
&lt;br /&gt;
We can access it through http://193.170.194.207:9001/admin/. The cc.practices.tools/pad/admin URL is broken somehow... &lt;br /&gt;
&lt;br /&gt;
BUT it only works when it&#039;s activated in the settings.json file. I disabled it after the cybersecurity mail, but am enabling it now to test if it works.&lt;br /&gt;
&lt;br /&gt;
When trying to log in, i get a [https://http.cat/401 401 error]....&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2026-10-02 17-05-11.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Hmm...&lt;br /&gt;
&lt;br /&gt;
I deactivated the admin login again. (is_admin = false)&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Update_Etherpad&amp;diff=5650</id>
		<title>Update Etherpad</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Update_Etherpad&amp;diff=5650"/>
		<updated>2026-10-02T15:05:10Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to update Etherpad? &lt;br /&gt;
&lt;br /&gt;
Etherpad is installed from the git master branch (see [[Install Etherpad-lite]]).&lt;br /&gt;
&lt;br /&gt;
So... do we just do a &amp;lt;code&amp;gt;git pull?&amp;lt;/code&amp;gt; on this branch to update Etherpad???&lt;br /&gt;
&lt;br /&gt;
This feels wild.&lt;br /&gt;
&lt;br /&gt;
Aha oke there is a built-in update system: https://docs.etherpad.org/admin/updates.html.&lt;br /&gt;
&lt;br /&gt;
We can access it through http://193.170.194.207:9001/admin/. The cc.practices.tools/pad/admin URL is broken somehow... &lt;br /&gt;
&lt;br /&gt;
BUT it only works when it&#039;s activated in the settings.json file. I disabled it after the cybersecurity mail, but am enabling it now to test if it works.&lt;br /&gt;
&lt;br /&gt;
When trying to log in, i get a [https://http.cat/401 401 error]....&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2026-10-02 17-05-11.png|400px]]&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=File:Screenshot_from_2026-10-02_17-05-11.png&amp;diff=5649</id>
		<title>File:Screenshot from 2026-10-02 17-05-11.png</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=File:Screenshot_from_2026-10-02_17-05-11.png&amp;diff=5649"/>
		<updated>2026-10-02T15:04:38Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Update_Etherpad&amp;diff=5648</id>
		<title>Update Etherpad</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Update_Etherpad&amp;diff=5648"/>
		<updated>2026-10-02T15:01:00Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to update Etherpad? &lt;br /&gt;
&lt;br /&gt;
Etherpad is installed from the git master branch (see [[Install Etherpad-lite]]).&lt;br /&gt;
&lt;br /&gt;
So... do we just do a &amp;lt;code&amp;gt;git pull?&amp;lt;/code&amp;gt; on this branch to update Etherpad???&lt;br /&gt;
&lt;br /&gt;
This feels wild.&lt;br /&gt;
&lt;br /&gt;
Aha oke there is a built-in update system: https://docs.etherpad.org/admin/updates.html.&lt;br /&gt;
&lt;br /&gt;
We can access it through http://193.170.194.207:9001/admin/. The cc.practices.tools/pad/admin URL is broken somehow... &lt;br /&gt;
&lt;br /&gt;
BUT it only works when it&#039;s activated in the settings.json file. I disabled it after the cybersecurity mail, but am enabling it now to test if it works.&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Update_Etherpad&amp;diff=5647</id>
		<title>Update Etherpad</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Update_Etherpad&amp;diff=5647"/>
		<updated>2026-10-02T14:55:26Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to update Etherpad? &lt;br /&gt;
&lt;br /&gt;
Etherpad is installed from the git master branch (see [[Install Etherpad-lite]]).&lt;br /&gt;
&lt;br /&gt;
So... do we just do a &amp;lt;code&amp;gt;git pull?&amp;lt;/code&amp;gt; on this branch to update Etherpad???&lt;br /&gt;
&lt;br /&gt;
This feels wild.&lt;br /&gt;
&lt;br /&gt;
Aha oke there is a built-in update system: https://docs.etherpad.org/admin/updates.html.&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Services_on_CC&amp;diff=5646</id>
		<title>Services on CC</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Services_on_CC&amp;diff=5646"/>
		<updated>2026-10-02T14:54:00Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* etherpad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==debian==&lt;br /&gt;
&lt;br /&gt;
* currently running latest stable: debian 13 (trixie)&lt;br /&gt;
* sources: /etc/apt/sources.list.d/debian.sources&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Types: deb&lt;br /&gt;
URIs: https://deb.debian.org/debian&lt;br /&gt;
Suites: trixie trixie-updates&lt;br /&gt;
Components: main non-free-firmware non-free contrib&lt;br /&gt;
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
&lt;br /&gt;
Types: deb&lt;br /&gt;
URIs: https://security.debian.org/debian-security&lt;br /&gt;
Suites: trixie-security&lt;br /&gt;
Components: main non-free-firmware non-free contrib&lt;br /&gt;
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==etherpad==&lt;br /&gt;
&lt;br /&gt;
installation log: [[Install Etherpad-lite]]&amp;lt;br&amp;gt;&lt;br /&gt;
how to update etherpad: [[Update Etherpad]]&lt;br /&gt;
&lt;br /&gt;
===installed===&lt;br /&gt;
&lt;br /&gt;
 /opt/etherpad/&lt;br /&gt;
&lt;br /&gt;
runs as user &amp;lt;code&amp;gt;etherpad&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===database===&lt;br /&gt;
&lt;br /&gt;
sqlite &lt;br /&gt;
&lt;br /&gt;
* 878MB on 7 Nov 2025&lt;br /&gt;
* 917MB on 11 Dec 2025&lt;br /&gt;
* 942MB on 23 Jan 2026&lt;br /&gt;
* 1.2G on 2 Oct 2026&lt;br /&gt;
&lt;br /&gt;
===systemd===&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl status etherpad&lt;br /&gt;
 sudo systemctl start etherpad&lt;br /&gt;
 sudo systemctl stop etherpad&lt;br /&gt;
 sudo systemctl restart etherpad&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=etherpad (real-time collaborative document editor)&lt;br /&gt;
After=syslog.target network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=etherpad&lt;br /&gt;
Group=etherpad&lt;br /&gt;
#WorkingDirectory=/opt/etherpad&lt;br /&gt;
Environment=NODE_ENV=production&lt;br /&gt;
#ExecStart=pnpm run prod&lt;br /&gt;
ExecStart=/bin/sh /opt/etherpad/bin/run.sh&lt;br /&gt;
Restart=always&lt;br /&gt;
&lt;br /&gt;
StandardOutput=append:/var/log/etherpad/etherpad.log&lt;br /&gt;
StandardError=append:/var/log/etherpad/etherpad-error.log&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===logs===&lt;br /&gt;
&lt;br /&gt;
 sudo tail -f /var/log/etherpad/etherpad.log&lt;br /&gt;
 sudo tail -f /var/log/etherpad/etherpad-error.log&lt;br /&gt;
&lt;br /&gt;
===backups===&lt;br /&gt;
&lt;br /&gt;
* crontab: every night at 5.55 &amp;lt;code&amp;gt;/opt/etherpad/etherpad.db&amp;lt;/code&amp;gt; is copied to &amp;lt;code&amp;gt;/opt/etherpad/etherpad_backup.db&amp;lt;/code&amp;gt; (just in case)&lt;br /&gt;
&lt;br /&gt;
==mediawiki==&lt;br /&gt;
&lt;br /&gt;
 /var/www/wiki/&lt;br /&gt;
&lt;br /&gt;
* php: php8.4&lt;br /&gt;
* database: mariadb&lt;br /&gt;
* installation log: [[Migrate Mediawiki]]&lt;br /&gt;
&lt;br /&gt;
===nginx===&lt;br /&gt;
&lt;br /&gt;
Followed this for the nginx config: https://www.mediawiki.org/wiki/Manual:Short_URL/Nginx&lt;br /&gt;
&lt;br /&gt;
===backups===&lt;br /&gt;
&lt;br /&gt;
backups through crontab:&lt;br /&gt;
&lt;br /&gt;
 # every night at 3:33&lt;br /&gt;
 33 3 * * * mysqldump --user=wiki --password=XXX wikidb &amp;gt; /var/www/html/wiki/ wikidb_backup.sql&lt;br /&gt;
 33 3 * * * mysqldump --user=wiki --password=XXX wikidb --xml &amp;gt; /var/www/html/wiki/wikidb_backup.xml&lt;br /&gt;
&lt;br /&gt;
==octomode==&lt;br /&gt;
&lt;br /&gt;
 /opt/octomode/&lt;br /&gt;
&lt;br /&gt;
* flask application&lt;br /&gt;
* runs on port 3333&lt;br /&gt;
* /etc/systemd/system/octomode.service&lt;br /&gt;
* installation log: [[Octomode]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Collective PDF rendering environment&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
User=octomode&lt;br /&gt;
WorkingDirectory=/var/www/octomode&lt;br /&gt;
ExecStart=/usr/bin/make action&lt;br /&gt;
Restart=always&lt;br /&gt;
StandardOutput=append:/var/log/octomode/octomode.log&lt;br /&gt;
StandardError=append:/var/log/octomode/octomode.log&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==wiki-to-print==&lt;br /&gt;
&lt;br /&gt;
 /opt/wiki-to-print/&lt;br /&gt;
&lt;br /&gt;
* flask application&lt;br /&gt;
* runs on port 4444&lt;br /&gt;
* /etc/systemd/system/wiki-to-print.service&lt;br /&gt;
* currently running with gunicorn, timeout turned off (after the server move the application timed out on larger documents)&lt;br /&gt;
* installation log: [[How to install wiki-to-print?]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=wiki-to-print&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
User=wikitoprint&lt;br /&gt;
WorkingDirectory=/opt/wiki-to-print/wiki-to-print/&lt;br /&gt;
ExecStart=/usr/bin/make server&lt;br /&gt;
Restart=always&lt;br /&gt;
StandardOutput=append:/var/log/wiki-to-print/wiki-to-print.log&lt;br /&gt;
StandardError=append:/var/log/wiki-to-print/wiki-to-print.log&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cobbled-paths==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==nginx==&lt;br /&gt;
&lt;br /&gt;
 /var/www/html/&lt;br /&gt;
 /home/manetta/public_html/&lt;br /&gt;
 /home/simoon/public_html/&lt;br /&gt;
&lt;br /&gt;
===home folders===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# user directories!! public_html folders&lt;br /&gt;
location ~ ^/~(.+?)(/.*)?$ {&lt;br /&gt;
    add_header Access-Control-Allow-Origin *;&lt;br /&gt;
    alias /home/$1/public_html$2;&lt;br /&gt;
    index index.html index.htm;&lt;br /&gt;
    autoindex on;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the public_html folders to work after a fresh install, the permissions of home folders need to be adjusted (??):&lt;br /&gt;
&lt;br /&gt;
 sudo chmod 755 /home/*&lt;br /&gt;
&lt;br /&gt;
==certbot==&lt;br /&gt;
&lt;br /&gt;
auto-renewal through crontab:&lt;br /&gt;
&lt;br /&gt;
 # every night at 04:44&lt;br /&gt;
 44 4 * * * certbot renew --pre-hook &amp;quot;systemctl stop nginx&amp;quot; --post-hook &amp;quot;systemctl start nginx&amp;quot; --quiet&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysadmin]]&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Update_Etherpad&amp;diff=5645</id>
		<title>Update Etherpad</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Update_Etherpad&amp;diff=5645"/>
		<updated>2026-10-02T14:53:54Z</updated>

		<summary type="html">&lt;p&gt;Manetta: Created page with &amp;quot;How to update Etherpad?   Etherpad is installed from the git master branch (see Install Etherpad-lite).  So... do we just do a &amp;lt;code&amp;gt;git pull?&amp;lt;/code&amp;gt; on this branch to update Etherpad???  This feels wild.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to update Etherpad? &lt;br /&gt;
&lt;br /&gt;
Etherpad is installed from the git master branch (see [[Install Etherpad-lite]]).&lt;br /&gt;
&lt;br /&gt;
So... do we just do a &amp;lt;code&amp;gt;git pull?&amp;lt;/code&amp;gt; on this branch to update Etherpad???&lt;br /&gt;
&lt;br /&gt;
This feels wild.&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Services_on_CC&amp;diff=5644</id>
		<title>Services on CC</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Services_on_CC&amp;diff=5644"/>
		<updated>2026-10-02T14:52:48Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* etherpad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==debian==&lt;br /&gt;
&lt;br /&gt;
* currently running latest stable: debian 13 (trixie)&lt;br /&gt;
* sources: /etc/apt/sources.list.d/debian.sources&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Types: deb&lt;br /&gt;
URIs: https://deb.debian.org/debian&lt;br /&gt;
Suites: trixie trixie-updates&lt;br /&gt;
Components: main non-free-firmware non-free contrib&lt;br /&gt;
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
&lt;br /&gt;
Types: deb&lt;br /&gt;
URIs: https://security.debian.org/debian-security&lt;br /&gt;
Suites: trixie-security&lt;br /&gt;
Components: main non-free-firmware non-free contrib&lt;br /&gt;
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==etherpad==&lt;br /&gt;
&lt;br /&gt;
installation log: [[Install_Etherpad-lite]]&amp;lt;br&amp;gt;&lt;br /&gt;
how to update etherpad: [[Update Etherpad]]&lt;br /&gt;
&lt;br /&gt;
===installed===&lt;br /&gt;
&lt;br /&gt;
 /opt/etherpad/&lt;br /&gt;
&lt;br /&gt;
runs as user &amp;lt;code&amp;gt;etherpad&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===database===&lt;br /&gt;
&lt;br /&gt;
sqlite &lt;br /&gt;
&lt;br /&gt;
* 878MB on 7 Nov 2025&lt;br /&gt;
* 917MB on 11 Dec 2025&lt;br /&gt;
* 942MB on 23 Jan 2026&lt;br /&gt;
* 1.2G on 2 Oct 2026&lt;br /&gt;
&lt;br /&gt;
===systemd===&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl status etherpad&lt;br /&gt;
 sudo systemctl start etherpad&lt;br /&gt;
 sudo systemctl stop etherpad&lt;br /&gt;
 sudo systemctl restart etherpad&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=etherpad (real-time collaborative document editor)&lt;br /&gt;
After=syslog.target network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=etherpad&lt;br /&gt;
Group=etherpad&lt;br /&gt;
#WorkingDirectory=/opt/etherpad&lt;br /&gt;
Environment=NODE_ENV=production&lt;br /&gt;
#ExecStart=pnpm run prod&lt;br /&gt;
ExecStart=/bin/sh /opt/etherpad/bin/run.sh&lt;br /&gt;
Restart=always&lt;br /&gt;
&lt;br /&gt;
StandardOutput=append:/var/log/etherpad/etherpad.log&lt;br /&gt;
StandardError=append:/var/log/etherpad/etherpad-error.log&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===logs===&lt;br /&gt;
&lt;br /&gt;
 sudo tail -f /var/log/etherpad/etherpad.log&lt;br /&gt;
 sudo tail -f /var/log/etherpad/etherpad-error.log&lt;br /&gt;
&lt;br /&gt;
===backups===&lt;br /&gt;
&lt;br /&gt;
* crontab: every night at 5.55 &amp;lt;code&amp;gt;/opt/etherpad/etherpad.db&amp;lt;/code&amp;gt; is copied to &amp;lt;code&amp;gt;/opt/etherpad/etherpad_backup.db&amp;lt;/code&amp;gt; (just in case)&lt;br /&gt;
&lt;br /&gt;
==mediawiki==&lt;br /&gt;
&lt;br /&gt;
 /var/www/wiki/&lt;br /&gt;
&lt;br /&gt;
* php: php8.4&lt;br /&gt;
* database: mariadb&lt;br /&gt;
* installation log: [[Migrate Mediawiki]]&lt;br /&gt;
&lt;br /&gt;
===nginx===&lt;br /&gt;
&lt;br /&gt;
Followed this for the nginx config: https://www.mediawiki.org/wiki/Manual:Short_URL/Nginx&lt;br /&gt;
&lt;br /&gt;
===backups===&lt;br /&gt;
&lt;br /&gt;
backups through crontab:&lt;br /&gt;
&lt;br /&gt;
 # every night at 3:33&lt;br /&gt;
 33 3 * * * mysqldump --user=wiki --password=XXX wikidb &amp;gt; /var/www/html/wiki/ wikidb_backup.sql&lt;br /&gt;
 33 3 * * * mysqldump --user=wiki --password=XXX wikidb --xml &amp;gt; /var/www/html/wiki/wikidb_backup.xml&lt;br /&gt;
&lt;br /&gt;
==octomode==&lt;br /&gt;
&lt;br /&gt;
 /opt/octomode/&lt;br /&gt;
&lt;br /&gt;
* flask application&lt;br /&gt;
* runs on port 3333&lt;br /&gt;
* /etc/systemd/system/octomode.service&lt;br /&gt;
* installation log: [[Octomode]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Collective PDF rendering environment&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
User=octomode&lt;br /&gt;
WorkingDirectory=/var/www/octomode&lt;br /&gt;
ExecStart=/usr/bin/make action&lt;br /&gt;
Restart=always&lt;br /&gt;
StandardOutput=append:/var/log/octomode/octomode.log&lt;br /&gt;
StandardError=append:/var/log/octomode/octomode.log&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==wiki-to-print==&lt;br /&gt;
&lt;br /&gt;
 /opt/wiki-to-print/&lt;br /&gt;
&lt;br /&gt;
* flask application&lt;br /&gt;
* runs on port 4444&lt;br /&gt;
* /etc/systemd/system/wiki-to-print.service&lt;br /&gt;
* currently running with gunicorn, timeout turned off (after the server move the application timed out on larger documents)&lt;br /&gt;
* installation log: [[How to install wiki-to-print?]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=wiki-to-print&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
User=wikitoprint&lt;br /&gt;
WorkingDirectory=/opt/wiki-to-print/wiki-to-print/&lt;br /&gt;
ExecStart=/usr/bin/make server&lt;br /&gt;
Restart=always&lt;br /&gt;
StandardOutput=append:/var/log/wiki-to-print/wiki-to-print.log&lt;br /&gt;
StandardError=append:/var/log/wiki-to-print/wiki-to-print.log&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cobbled-paths==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==nginx==&lt;br /&gt;
&lt;br /&gt;
 /var/www/html/&lt;br /&gt;
 /home/manetta/public_html/&lt;br /&gt;
 /home/simoon/public_html/&lt;br /&gt;
&lt;br /&gt;
===home folders===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# user directories!! public_html folders&lt;br /&gt;
location ~ ^/~(.+?)(/.*)?$ {&lt;br /&gt;
    add_header Access-Control-Allow-Origin *;&lt;br /&gt;
    alias /home/$1/public_html$2;&lt;br /&gt;
    index index.html index.htm;&lt;br /&gt;
    autoindex on;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the public_html folders to work after a fresh install, the permissions of home folders need to be adjusted (??):&lt;br /&gt;
&lt;br /&gt;
 sudo chmod 755 /home/*&lt;br /&gt;
&lt;br /&gt;
==certbot==&lt;br /&gt;
&lt;br /&gt;
auto-renewal through crontab:&lt;br /&gt;
&lt;br /&gt;
 # every night at 04:44&lt;br /&gt;
 44 4 * * * certbot renew --pre-hook &amp;quot;systemctl stop nginx&amp;quot; --post-hook &amp;quot;systemctl start nginx&amp;quot; --quiet&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysadmin]]&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Services_on_CC&amp;diff=5643</id>
		<title>Services on CC</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Services_on_CC&amp;diff=5643"/>
		<updated>2026-10-02T14:52:41Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* etherpad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==debian==&lt;br /&gt;
&lt;br /&gt;
* currently running latest stable: debian 13 (trixie)&lt;br /&gt;
* sources: /etc/apt/sources.list.d/debian.sources&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Types: deb&lt;br /&gt;
URIs: https://deb.debian.org/debian&lt;br /&gt;
Suites: trixie trixie-updates&lt;br /&gt;
Components: main non-free-firmware non-free contrib&lt;br /&gt;
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
&lt;br /&gt;
Types: deb&lt;br /&gt;
URIs: https://security.debian.org/debian-security&lt;br /&gt;
Suites: trixie-security&lt;br /&gt;
Components: main non-free-firmware non-free contrib&lt;br /&gt;
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==etherpad==&lt;br /&gt;
&lt;br /&gt;
installation log: [[Install_Etherpad-lite]]&lt;br /&gt;
how to update etherpad: [[Update Etherpad]]&lt;br /&gt;
&lt;br /&gt;
===installed===&lt;br /&gt;
&lt;br /&gt;
 /opt/etherpad/&lt;br /&gt;
&lt;br /&gt;
runs as user &amp;lt;code&amp;gt;etherpad&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===database===&lt;br /&gt;
&lt;br /&gt;
sqlite &lt;br /&gt;
&lt;br /&gt;
* 878MB on 7 Nov 2025&lt;br /&gt;
* 917MB on 11 Dec 2025&lt;br /&gt;
* 942MB on 23 Jan 2026&lt;br /&gt;
* 1.2G on 2 Oct 2026&lt;br /&gt;
&lt;br /&gt;
===systemd===&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl status etherpad&lt;br /&gt;
 sudo systemctl start etherpad&lt;br /&gt;
 sudo systemctl stop etherpad&lt;br /&gt;
 sudo systemctl restart etherpad&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=etherpad (real-time collaborative document editor)&lt;br /&gt;
After=syslog.target network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=etherpad&lt;br /&gt;
Group=etherpad&lt;br /&gt;
#WorkingDirectory=/opt/etherpad&lt;br /&gt;
Environment=NODE_ENV=production&lt;br /&gt;
#ExecStart=pnpm run prod&lt;br /&gt;
ExecStart=/bin/sh /opt/etherpad/bin/run.sh&lt;br /&gt;
Restart=always&lt;br /&gt;
&lt;br /&gt;
StandardOutput=append:/var/log/etherpad/etherpad.log&lt;br /&gt;
StandardError=append:/var/log/etherpad/etherpad-error.log&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===logs===&lt;br /&gt;
&lt;br /&gt;
 sudo tail -f /var/log/etherpad/etherpad.log&lt;br /&gt;
 sudo tail -f /var/log/etherpad/etherpad-error.log&lt;br /&gt;
&lt;br /&gt;
===backups===&lt;br /&gt;
&lt;br /&gt;
* crontab: every night at 5.55 &amp;lt;code&amp;gt;/opt/etherpad/etherpad.db&amp;lt;/code&amp;gt; is copied to &amp;lt;code&amp;gt;/opt/etherpad/etherpad_backup.db&amp;lt;/code&amp;gt; (just in case)&lt;br /&gt;
&lt;br /&gt;
==mediawiki==&lt;br /&gt;
&lt;br /&gt;
 /var/www/wiki/&lt;br /&gt;
&lt;br /&gt;
* php: php8.4&lt;br /&gt;
* database: mariadb&lt;br /&gt;
* installation log: [[Migrate Mediawiki]]&lt;br /&gt;
&lt;br /&gt;
===nginx===&lt;br /&gt;
&lt;br /&gt;
Followed this for the nginx config: https://www.mediawiki.org/wiki/Manual:Short_URL/Nginx&lt;br /&gt;
&lt;br /&gt;
===backups===&lt;br /&gt;
&lt;br /&gt;
backups through crontab:&lt;br /&gt;
&lt;br /&gt;
 # every night at 3:33&lt;br /&gt;
 33 3 * * * mysqldump --user=wiki --password=XXX wikidb &amp;gt; /var/www/html/wiki/ wikidb_backup.sql&lt;br /&gt;
 33 3 * * * mysqldump --user=wiki --password=XXX wikidb --xml &amp;gt; /var/www/html/wiki/wikidb_backup.xml&lt;br /&gt;
&lt;br /&gt;
==octomode==&lt;br /&gt;
&lt;br /&gt;
 /opt/octomode/&lt;br /&gt;
&lt;br /&gt;
* flask application&lt;br /&gt;
* runs on port 3333&lt;br /&gt;
* /etc/systemd/system/octomode.service&lt;br /&gt;
* installation log: [[Octomode]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Collective PDF rendering environment&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
User=octomode&lt;br /&gt;
WorkingDirectory=/var/www/octomode&lt;br /&gt;
ExecStart=/usr/bin/make action&lt;br /&gt;
Restart=always&lt;br /&gt;
StandardOutput=append:/var/log/octomode/octomode.log&lt;br /&gt;
StandardError=append:/var/log/octomode/octomode.log&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==wiki-to-print==&lt;br /&gt;
&lt;br /&gt;
 /opt/wiki-to-print/&lt;br /&gt;
&lt;br /&gt;
* flask application&lt;br /&gt;
* runs on port 4444&lt;br /&gt;
* /etc/systemd/system/wiki-to-print.service&lt;br /&gt;
* currently running with gunicorn, timeout turned off (after the server move the application timed out on larger documents)&lt;br /&gt;
* installation log: [[How to install wiki-to-print?]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=wiki-to-print&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
User=wikitoprint&lt;br /&gt;
WorkingDirectory=/opt/wiki-to-print/wiki-to-print/&lt;br /&gt;
ExecStart=/usr/bin/make server&lt;br /&gt;
Restart=always&lt;br /&gt;
StandardOutput=append:/var/log/wiki-to-print/wiki-to-print.log&lt;br /&gt;
StandardError=append:/var/log/wiki-to-print/wiki-to-print.log&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cobbled-paths==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==nginx==&lt;br /&gt;
&lt;br /&gt;
 /var/www/html/&lt;br /&gt;
 /home/manetta/public_html/&lt;br /&gt;
 /home/simoon/public_html/&lt;br /&gt;
&lt;br /&gt;
===home folders===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# user directories!! public_html folders&lt;br /&gt;
location ~ ^/~(.+?)(/.*)?$ {&lt;br /&gt;
    add_header Access-Control-Allow-Origin *;&lt;br /&gt;
    alias /home/$1/public_html$2;&lt;br /&gt;
    index index.html index.htm;&lt;br /&gt;
    autoindex on;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the public_html folders to work after a fresh install, the permissions of home folders need to be adjusted (??):&lt;br /&gt;
&lt;br /&gt;
 sudo chmod 755 /home/*&lt;br /&gt;
&lt;br /&gt;
==certbot==&lt;br /&gt;
&lt;br /&gt;
auto-renewal through crontab:&lt;br /&gt;
&lt;br /&gt;
 # every night at 04:44&lt;br /&gt;
 44 4 * * * certbot renew --pre-hook &amp;quot;systemctl stop nginx&amp;quot; --post-hook &amp;quot;systemctl start nginx&amp;quot; --quiet&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysadmin]]&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Services_on_CC&amp;diff=5642</id>
		<title>Services on CC</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Services_on_CC&amp;diff=5642"/>
		<updated>2026-10-02T14:41:45Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==debian==&lt;br /&gt;
&lt;br /&gt;
* currently running latest stable: debian 13 (trixie)&lt;br /&gt;
* sources: /etc/apt/sources.list.d/debian.sources&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Types: deb&lt;br /&gt;
URIs: https://deb.debian.org/debian&lt;br /&gt;
Suites: trixie trixie-updates&lt;br /&gt;
Components: main non-free-firmware non-free contrib&lt;br /&gt;
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
&lt;br /&gt;
Types: deb&lt;br /&gt;
URIs: https://security.debian.org/debian-security&lt;br /&gt;
Suites: trixie-security&lt;br /&gt;
Components: main non-free-firmware non-free contrib&lt;br /&gt;
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==etherpad==&lt;br /&gt;
&lt;br /&gt;
installation log: [[Install_Etherpad-lite]]&lt;br /&gt;
&lt;br /&gt;
===installed===&lt;br /&gt;
&lt;br /&gt;
 /opt/etherpad/&lt;br /&gt;
&lt;br /&gt;
runs as user &amp;lt;code&amp;gt;etherpad&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===database===&lt;br /&gt;
&lt;br /&gt;
sqlite &lt;br /&gt;
&lt;br /&gt;
* 878MB on 7 Nov 2025&lt;br /&gt;
* 917MB on 11 Dec 2025&lt;br /&gt;
* 942MB on 23 Jan 2026&lt;br /&gt;
* 1.2G on 2 Oct 2026&lt;br /&gt;
&lt;br /&gt;
===systemd===&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl status etherpad&lt;br /&gt;
 sudo systemctl start etherpad&lt;br /&gt;
 sudo systemctl stop etherpad&lt;br /&gt;
 sudo systemctl restart etherpad&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=etherpad (real-time collaborative document editor)&lt;br /&gt;
After=syslog.target network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=etherpad&lt;br /&gt;
Group=etherpad&lt;br /&gt;
#WorkingDirectory=/opt/etherpad&lt;br /&gt;
Environment=NODE_ENV=production&lt;br /&gt;
#ExecStart=pnpm run prod&lt;br /&gt;
ExecStart=/bin/sh /opt/etherpad/bin/run.sh&lt;br /&gt;
Restart=always&lt;br /&gt;
&lt;br /&gt;
StandardOutput=append:/var/log/etherpad/etherpad.log&lt;br /&gt;
StandardError=append:/var/log/etherpad/etherpad-error.log&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===logs===&lt;br /&gt;
&lt;br /&gt;
 sudo tail -f /var/log/etherpad/etherpad.log&lt;br /&gt;
 sudo tail -f /var/log/etherpad/etherpad-error.log&lt;br /&gt;
&lt;br /&gt;
===backups===&lt;br /&gt;
&lt;br /&gt;
* crontab: every night at 5.55 &amp;lt;code&amp;gt;/opt/etherpad/etherpad.db&amp;lt;/code&amp;gt; is copied to &amp;lt;code&amp;gt;/opt/etherpad/etherpad_backup.db&amp;lt;/code&amp;gt; (just in case)&lt;br /&gt;
&lt;br /&gt;
==mediawiki==&lt;br /&gt;
&lt;br /&gt;
 /var/www/wiki/&lt;br /&gt;
&lt;br /&gt;
* php: php8.4&lt;br /&gt;
* database: mariadb&lt;br /&gt;
* installation log: [[Migrate Mediawiki]]&lt;br /&gt;
&lt;br /&gt;
===nginx===&lt;br /&gt;
&lt;br /&gt;
Followed this for the nginx config: https://www.mediawiki.org/wiki/Manual:Short_URL/Nginx&lt;br /&gt;
&lt;br /&gt;
===backups===&lt;br /&gt;
&lt;br /&gt;
backups through crontab:&lt;br /&gt;
&lt;br /&gt;
 # every night at 3:33&lt;br /&gt;
 33 3 * * * mysqldump --user=wiki --password=XXX wikidb &amp;gt; /var/www/html/wiki/ wikidb_backup.sql&lt;br /&gt;
 33 3 * * * mysqldump --user=wiki --password=XXX wikidb --xml &amp;gt; /var/www/html/wiki/wikidb_backup.xml&lt;br /&gt;
&lt;br /&gt;
==octomode==&lt;br /&gt;
&lt;br /&gt;
 /opt/octomode/&lt;br /&gt;
&lt;br /&gt;
* flask application&lt;br /&gt;
* runs on port 3333&lt;br /&gt;
* /etc/systemd/system/octomode.service&lt;br /&gt;
* installation log: [[Octomode]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Collective PDF rendering environment&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
User=octomode&lt;br /&gt;
WorkingDirectory=/var/www/octomode&lt;br /&gt;
ExecStart=/usr/bin/make action&lt;br /&gt;
Restart=always&lt;br /&gt;
StandardOutput=append:/var/log/octomode/octomode.log&lt;br /&gt;
StandardError=append:/var/log/octomode/octomode.log&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==wiki-to-print==&lt;br /&gt;
&lt;br /&gt;
 /opt/wiki-to-print/&lt;br /&gt;
&lt;br /&gt;
* flask application&lt;br /&gt;
* runs on port 4444&lt;br /&gt;
* /etc/systemd/system/wiki-to-print.service&lt;br /&gt;
* currently running with gunicorn, timeout turned off (after the server move the application timed out on larger documents)&lt;br /&gt;
* installation log: [[How to install wiki-to-print?]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=wiki-to-print&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
User=wikitoprint&lt;br /&gt;
WorkingDirectory=/opt/wiki-to-print/wiki-to-print/&lt;br /&gt;
ExecStart=/usr/bin/make server&lt;br /&gt;
Restart=always&lt;br /&gt;
StandardOutput=append:/var/log/wiki-to-print/wiki-to-print.log&lt;br /&gt;
StandardError=append:/var/log/wiki-to-print/wiki-to-print.log&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cobbled-paths==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==nginx==&lt;br /&gt;
&lt;br /&gt;
 /var/www/html/&lt;br /&gt;
 /home/manetta/public_html/&lt;br /&gt;
 /home/simoon/public_html/&lt;br /&gt;
&lt;br /&gt;
===home folders===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# user directories!! public_html folders&lt;br /&gt;
location ~ ^/~(.+?)(/.*)?$ {&lt;br /&gt;
    add_header Access-Control-Allow-Origin *;&lt;br /&gt;
    alias /home/$1/public_html$2;&lt;br /&gt;
    index index.html index.htm;&lt;br /&gt;
    autoindex on;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the public_html folders to work after a fresh install, the permissions of home folders need to be adjusted (??):&lt;br /&gt;
&lt;br /&gt;
 sudo chmod 755 /home/*&lt;br /&gt;
&lt;br /&gt;
==certbot==&lt;br /&gt;
&lt;br /&gt;
auto-renewal through crontab:&lt;br /&gt;
&lt;br /&gt;
 # every night at 04:44&lt;br /&gt;
 44 4 * * * certbot renew --pre-hook &amp;quot;systemctl stop nginx&amp;quot; --post-hook &amp;quot;systemctl start nginx&amp;quot; --quiet&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysadmin]]&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5639</id>
		<title>Tools</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5639"/>
		<updated>2026-07-19T18:58:05Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* Other lists! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Web folklore tools==&lt;br /&gt;
&lt;br /&gt;
edit this list here: [[Web folklore tools]]&lt;br /&gt;
&lt;br /&gt;
{{:Web_folklore_tools}}&lt;br /&gt;
&lt;br /&gt;
==8-bit homecomputers==&lt;br /&gt;
{{Special:PrefixIndex/Typesetting tools/}}&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
* [https://www.prepressure.com/prepress/history Prepress History (from 1980s till the 2010s), by prepressure.com]&lt;br /&gt;
* [https://archive.org/details/the-creative-print-master/mode/2up The Creative PrintMaster: Graphics Designs Tips for Computer Users by Kendra R. Bonnett.]&lt;br /&gt;
* [http://archive.computerhistory.org/resources/access/text/2018/09/102740425-05-02-acc.pdf The world of digital typesetting, by John W. Seybold (1985)] - listing of lottts of typesetting systems, from the 60s, 70s until 1985&lt;br /&gt;
&lt;br /&gt;
==FLOSS typesetting tools==&lt;br /&gt;
&lt;br /&gt;
edit this page here: [[Typesetting tools]]&lt;br /&gt;
&lt;br /&gt;
{{:Typesetting tools}}&lt;br /&gt;
&lt;br /&gt;
==Image editing tools==&lt;br /&gt;
&lt;br /&gt;
* https://imagemagick.org&lt;br /&gt;
&lt;br /&gt;
Dithering tools:&lt;br /&gt;
&lt;br /&gt;
* https://www.stochaster.org/&lt;br /&gt;
* https://www.evilmadscientist.com/2012/stipplegen2/&lt;br /&gt;
* https://beyondloom.com/tools/ditherpaint.html&lt;br /&gt;
&lt;br /&gt;
==Other lists==&lt;br /&gt;
&lt;br /&gt;
* https://tinytools.directory/ → zines/books + print&lt;br /&gt;
* https://polytype.dev/ (a rosetta&#039;s stone for typesetting tools, quick demo&#039;s of many different typesetting tools)&lt;br /&gt;
* https://radicalweb.design/recherche/websites/ by Julien Bidoret&lt;br /&gt;
* https://ourcollaborative.tools/en/projects EU funded research project [https://www.citedudesign.com/en/a/digital-tools-for-creative-collaboration-1705 Digital Tools for Creative Collaboration] by [https://u-r-n.io/fr random(lab)] at EDADSE in St-Etiène/Lyon icw [https://www.artun.ee EKA], [https://www.hfg-gmuend.de/ HfG] and [https://beda.org/ BEDA] (2020-2023)&lt;br /&gt;
* https://compendium.copim.pub/&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Typesetting_tools&amp;diff=5638</id>
		<title>Typesetting tools</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Typesetting_tools&amp;diff=5638"/>
		<updated>2026-07-19T18:54:43Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Canvas tools===&lt;br /&gt;
&lt;br /&gt;
* [[Scribus]] https://www.scribus.net/&lt;br /&gt;
* [[Inkscape]] http://inkscape.org/&lt;br /&gt;
* Laidout https://laidout.org/&lt;br /&gt;
* Electric Zine Maker https://alienmelon.itch.io/electric-zine-maker&lt;br /&gt;
&lt;br /&gt;
===Engines tools===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CSS Print based ([[CSS Print]])&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* your browser (based on the supported CSS Print properties by that browser): use CTRL+P/CMD+P&lt;br /&gt;
* [[Weasyprint]] https://weasyprint.readthedocs.io/&lt;br /&gt;
* [[Paged.js]] https://www.pagedjs.org/&lt;br /&gt;
* wkhtmltopdf https://wkhtmltopdf.org/&lt;br /&gt;
* OSPKit (CSS Regions legacy support!) http://osp.kitchen/tools/ospkit/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P5.js based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* genzine https://github.com/munusshih/p5.genzine by [https://munusshih.com/ Munus Shih] and Iley Cao&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Python based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* rinohtype http://www.mos6581.org/rinohtype/master/&lt;br /&gt;
* [[ReportLab]] https://www.reportlab.com/&lt;br /&gt;
* [[Flat]] http://xxyxyz.org/flat/&lt;br /&gt;
* PyX https://pyx-project.org/ (outputs to PostScript, PDF and SVG)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TeX based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* TeX https://tug.org/ + https://en.wikipedia.org/wiki/TeX&lt;br /&gt;
* LaTeX https://www.latex-project.org/&lt;br /&gt;
* ConTeXt  https://wiki.contextgarden.net/&lt;br /&gt;
* texinfo https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Short-Sample-Texinfo-File.html&lt;br /&gt;
* tectonic https://tectonic-typesetting.github.io/&lt;br /&gt;
* lyx https://www.lyx.org/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* speedata https://showcase.speedata.de/en/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Misc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[PostScript]] https://www.adobe.com/products/postscript.html&lt;br /&gt;
* groff https://www.gnu.org/software/groff/&lt;br /&gt;
* SILE https://sile-typesetter.org/ (LaTeX-like)&lt;br /&gt;
* typst https://typst.app/ (custom markdown syntax)&lt;br /&gt;
* SATySFi https://github.com/gfngfn/SATySFi (LaTeX-like + OCaml-like)&lt;br /&gt;
* Patoline https://patoline.github.io/ (wiki/LaTeX/Ocaml-like)&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5637</id>
		<title>Tools</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5637"/>
		<updated>2026-07-19T18:54:06Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* Typesetting tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Web folklore tools==&lt;br /&gt;
&lt;br /&gt;
edit this list here: [[Web folklore tools]]&lt;br /&gt;
&lt;br /&gt;
{{:Web_folklore_tools}}&lt;br /&gt;
&lt;br /&gt;
==8-bit homecomputers==&lt;br /&gt;
{{Special:PrefixIndex/Typesetting tools/}}&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
* [https://www.prepressure.com/prepress/history Prepress History (from 1980s till the 2010s), by prepressure.com]&lt;br /&gt;
* [https://archive.org/details/the-creative-print-master/mode/2up The Creative PrintMaster: Graphics Designs Tips for Computer Users by Kendra R. Bonnett.]&lt;br /&gt;
* [http://archive.computerhistory.org/resources/access/text/2018/09/102740425-05-02-acc.pdf The world of digital typesetting, by John W. Seybold (1985)] - listing of lottts of typesetting systems, from the 60s, 70s until 1985&lt;br /&gt;
&lt;br /&gt;
==FLOSS typesetting tools==&lt;br /&gt;
&lt;br /&gt;
edit this page here: [[Typesetting tools]]&lt;br /&gt;
&lt;br /&gt;
{{:Typesetting tools}}&lt;br /&gt;
&lt;br /&gt;
==Image editing tools==&lt;br /&gt;
&lt;br /&gt;
* https://imagemagick.org&lt;br /&gt;
&lt;br /&gt;
Dithering tools:&lt;br /&gt;
&lt;br /&gt;
* https://www.stochaster.org/&lt;br /&gt;
* https://www.evilmadscientist.com/2012/stipplegen2/&lt;br /&gt;
* https://beyondloom.com/tools/ditherpaint.html&lt;br /&gt;
&lt;br /&gt;
==Other lists!==&lt;br /&gt;
&lt;br /&gt;
* https://tinytools.directory/ → zines/books + print&lt;br /&gt;
* https://polytype.dev/ (a rosetta&#039;s stone for typesetting tools, quick demo&#039;s of many different typesetting tools)&lt;br /&gt;
* https://radicalweb.design/recherche/websites/ by Julien Bidoret&lt;br /&gt;
* https://ourcollaborative.tools/en/projects EU funded research project [https://www.citedudesign.com/en/a/digital-tools-for-creative-collaboration-1705 Digital Tools for Creative Collaboration] by [https://u-r-n.io/fr random(lab)] at EDADSE in St-Etiène/Lyon icw [https://www.artun.ee EKA], [https://www.hfg-gmuend.de/ HfG] and [https://beda.org/ BEDA] (2020-2023)&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5636</id>
		<title>Tools</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5636"/>
		<updated>2026-07-19T18:53:55Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* Serious typesetting tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Web folklore tools==&lt;br /&gt;
&lt;br /&gt;
edit this list here: [[Web folklore tools]]&lt;br /&gt;
&lt;br /&gt;
{{:Web_folklore_tools}}&lt;br /&gt;
&lt;br /&gt;
==8-bit homecomputers==&lt;br /&gt;
{{Special:PrefixIndex/Typesetting tools/}}&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
* [https://www.prepressure.com/prepress/history Prepress History (from 1980s till the 2010s), by prepressure.com]&lt;br /&gt;
* [https://archive.org/details/the-creative-print-master/mode/2up The Creative PrintMaster: Graphics Designs Tips for Computer Users by Kendra R. Bonnett.]&lt;br /&gt;
* [http://archive.computerhistory.org/resources/access/text/2018/09/102740425-05-02-acc.pdf The world of digital typesetting, by John W. Seybold (1985)] - listing of lottts of typesetting systems, from the 60s, 70s until 1985&lt;br /&gt;
&lt;br /&gt;
==Typesetting tools==&lt;br /&gt;
&lt;br /&gt;
edit this page here: [[Typesetting tools]]&lt;br /&gt;
&lt;br /&gt;
{{:Typesetting tools}}&lt;br /&gt;
&lt;br /&gt;
==Image editing tools==&lt;br /&gt;
&lt;br /&gt;
* https://imagemagick.org&lt;br /&gt;
&lt;br /&gt;
Dithering tools:&lt;br /&gt;
&lt;br /&gt;
* https://www.stochaster.org/&lt;br /&gt;
* https://www.evilmadscientist.com/2012/stipplegen2/&lt;br /&gt;
* https://beyondloom.com/tools/ditherpaint.html&lt;br /&gt;
&lt;br /&gt;
==Other lists!==&lt;br /&gt;
&lt;br /&gt;
* https://tinytools.directory/ → zines/books + print&lt;br /&gt;
* https://polytype.dev/ (a rosetta&#039;s stone for typesetting tools, quick demo&#039;s of many different typesetting tools)&lt;br /&gt;
* https://radicalweb.design/recherche/websites/ by Julien Bidoret&lt;br /&gt;
* https://ourcollaborative.tools/en/projects EU funded research project [https://www.citedudesign.com/en/a/digital-tools-for-creative-collaboration-1705 Digital Tools for Creative Collaboration] by [https://u-r-n.io/fr random(lab)] at EDADSE in St-Etiène/Lyon icw [https://www.artun.ee EKA], [https://www.hfg-gmuend.de/ HfG] and [https://beda.org/ BEDA] (2020-2023)&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5635</id>
		<title>Tools</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5635"/>
		<updated>2026-07-19T18:53:08Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* 8-bit Home computers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Web folklore tools==&lt;br /&gt;
&lt;br /&gt;
edit this list here: [[Web folklore tools]]&lt;br /&gt;
&lt;br /&gt;
{{:Web_folklore_tools}}&lt;br /&gt;
&lt;br /&gt;
==8-bit homecomputers==&lt;br /&gt;
{{Special:PrefixIndex/Typesetting tools/}}&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
* [https://www.prepressure.com/prepress/history Prepress History (from 1980s till the 2010s), by prepressure.com]&lt;br /&gt;
* [https://archive.org/details/the-creative-print-master/mode/2up The Creative PrintMaster: Graphics Designs Tips for Computer Users by Kendra R. Bonnett.]&lt;br /&gt;
* [http://archive.computerhistory.org/resources/access/text/2018/09/102740425-05-02-acc.pdf The world of digital typesetting, by John W. Seybold (1985)] - listing of lottts of typesetting systems, from the 60s, 70s until 1985&lt;br /&gt;
&lt;br /&gt;
==Serious typesetting tools==&lt;br /&gt;
&lt;br /&gt;
edit this page here: [[Typesetting tools]]&lt;br /&gt;
&lt;br /&gt;
{{:Typesetting tools}}&lt;br /&gt;
&lt;br /&gt;
==Image editing tools==&lt;br /&gt;
&lt;br /&gt;
* https://imagemagick.org&lt;br /&gt;
&lt;br /&gt;
Dithering tools:&lt;br /&gt;
&lt;br /&gt;
* https://www.stochaster.org/&lt;br /&gt;
* https://www.evilmadscientist.com/2012/stipplegen2/&lt;br /&gt;
* https://beyondloom.com/tools/ditherpaint.html&lt;br /&gt;
&lt;br /&gt;
==Other lists!==&lt;br /&gt;
&lt;br /&gt;
* https://tinytools.directory/ → zines/books + print&lt;br /&gt;
* https://polytype.dev/ (a rosetta&#039;s stone for typesetting tools, quick demo&#039;s of many different typesetting tools)&lt;br /&gt;
* https://radicalweb.design/recherche/websites/ by Julien Bidoret&lt;br /&gt;
* https://ourcollaborative.tools/en/projects EU funded research project [https://www.citedudesign.com/en/a/digital-tools-for-creative-collaboration-1705 Digital Tools for Creative Collaboration] by [https://u-r-n.io/fr random(lab)] at EDADSE in St-Etiène/Lyon icw [https://www.artun.ee EKA], [https://www.hfg-gmuend.de/ HfG] and [https://beda.org/ BEDA] (2020-2023)&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Finances&amp;diff=5634</id>
		<title>Finances</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Finances&amp;diff=5634"/>
		<updated>2026-07-13T19:22:26Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* CC costs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a collective log of our finances.&lt;br /&gt;
&lt;br /&gt;
==CC costs==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! what !! date !! who paid !! amount !! shared&lt;br /&gt;
|-&lt;br /&gt;
| OVH server purchase || 22 December 2023 || manetta || € 150 || 50/50&lt;br /&gt;
|-&lt;br /&gt;
| Servus membership || 01-04-2024 till 30-06-2024 || manetta || € 90 || 50/50&lt;br /&gt;
|-&lt;br /&gt;
| Servus membership || 01-07-2024 till 31-12-2024 || manetta || € 90 || 50/50&lt;br /&gt;
|-&lt;br /&gt;
| OVH backups 1 year || 24-12-2024 till 24-12-2025 || simon || € 67,35 || 50/50&lt;br /&gt;
|-&lt;br /&gt;
| OVH server renewal 1 month || 22-12-2024 || simon || € 23,11 || 50/50&lt;br /&gt;
|-&lt;br /&gt;
| OVH server renewal 1 month || 18-01-2025 || simon || € 23,11 || 50/50&lt;br /&gt;
|-&lt;br /&gt;
| OVH server renewal 1 month|| 19-02-2025 || simon || € 23,11 || 50/50&lt;br /&gt;
|-&lt;br /&gt;
| OVH server renewal 3 months || 11-03-2025 || simon || € 69,33 || 50/50&lt;br /&gt;
|-&lt;br /&gt;
| OVH server renewal 3 months || 27-05-2025 || simon || € 69,33 || 50/50&lt;br /&gt;
|-&lt;br /&gt;
| OVH server renewal 3 months || 10-09-2025 || simon || € 69,33 || 50/50&lt;br /&gt;
|-&lt;br /&gt;
| Servus membership || 2025 Q1 + Q2 || manetta || € 180 || 50/50&lt;br /&gt;
|-&lt;br /&gt;
| stickers PrinterPro || November 2025 || manetta || € 111,61 || not needed&lt;br /&gt;
|-&lt;br /&gt;
| OVH server renewal 1 month|| 21-12-2025 || simon || € 23,11 || not yet&lt;br /&gt;
|- &lt;br /&gt;
| Servus membership || 2025 Q3 + Q4 || manetta || € 180 || not yet&lt;br /&gt;
|-&lt;br /&gt;
| Servus membership || 2026 Q1 + Q2 || manetta || € 180 || not yet&lt;br /&gt;
|- &lt;br /&gt;
| xxx || xxx || xxx || xxx || xxx&lt;br /&gt;
|-&lt;br /&gt;
| xxx || xxx || xxx || xxx || xxx&lt;br /&gt;
|- &lt;br /&gt;
| xxx || xxx || xxx || xxx || xxx&lt;br /&gt;
|-&lt;br /&gt;
| xxx || xxx || xxx || xxx || xxx&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==CC income==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! what !! date !! from who !! to whom !! amount !! recirculated&lt;br /&gt;
|-&lt;br /&gt;
| Toward a Minor Tech (phase 1) || 16-02-2023 || CSNI (through Varia) || manetta || € 1796,88 || manetta + simon&#039;s part??&lt;br /&gt;
|-&lt;br /&gt;
| Toward a Minor Tech (phase 2) || ??? || CSNI (through Varia) || manetta || € ??? || manetta&#039;s part&lt;br /&gt;
|-&lt;br /&gt;
| Toward a Minor Tech (phase 1) || 19-02-2023 || CSNI (through Varia) || simon || € 934,38 || simon&#039;s part&lt;br /&gt;
|-&lt;br /&gt;
| Toward a Minor Tech (phase 2) || 23-08-2023 || CSNI (through Varia) || simon || € 305,47 || simon&#039;s part&lt;br /&gt;
|-&lt;br /&gt;
| xxx || xxx || xxx || xxx || xxx || xxx&lt;br /&gt;
|-&lt;br /&gt;
| xxx || xxx || xxx || xxx || xxx || xxx&lt;br /&gt;
|-&lt;br /&gt;
| xxx || xxx || xxx || xxx || xxx || xxx&lt;br /&gt;
|-&lt;br /&gt;
| Content/Form  || xxx || xxx || xxx || £ 1,000.00 || split between manetta &amp;amp; simon&lt;br /&gt;
|-&lt;br /&gt;
| contribution to CC for using octomode during a workshop at Utrecht University || 21-04-2023 || Winnie &amp;amp; Geoff || Varia || € 400 || split between manetta &amp;amp; simon &lt;br /&gt;
|-&lt;br /&gt;
| contribution to CC for using the pads || soon, December 2025 || Constant || simon || € 500 || to production costs of self-published version of servpub contribution&lt;br /&gt;
|-&lt;br /&gt;
| ServPub book event || 26-11-2025 || Coventry University || simon || € 249,39 || yes, to simon&lt;br /&gt;
|-&lt;br /&gt;
| xxx || xxx || xxx || xxx || xxx || xxx&lt;br /&gt;
|-&lt;br /&gt;
| xxx || xxx || xxx || xxx || xxx || xxx&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysadmin]]&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Web_folklore_tools&amp;diff=5633</id>
		<title>Web folklore tools</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Web_folklore_tools&amp;diff=5633"/>
		<updated>2026-07-08T10:23:12Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This will be an amazing list of tools&lt;br /&gt;
&lt;br /&gt;
* https://glyphdrawing.club&lt;br /&gt;
* https://grid-drawing-club.netlify.app&lt;br /&gt;
* http://qaz.wtf/u/convert.cgi?text=hello&lt;br /&gt;
* http://xahlee.info/comp/unicode_index.html&lt;br /&gt;
* https://patorjk.com/software/taag/&lt;br /&gt;
* https://changaco.oy.lc/unicode-progress-bars/&lt;br /&gt;
* https://maxbittker.github.io/broider/ &lt;br /&gt;
* https://alienmelon.itch.io/electric-zine-maker &lt;br /&gt;
&lt;br /&gt;
* https://beyondloom.com/tools/ditherpaint.html&lt;br /&gt;
&lt;br /&gt;
* https://constraint.systems/ * tools!&lt;br /&gt;
* https://www.tooooools.app/&lt;br /&gt;
* https://kidpix.app/&lt;br /&gt;
* https://boockup.marco.land/&lt;br /&gt;
* https://cpreid2.github.io/blobSketch/&lt;br /&gt;
* https://nightphilosophy.github.io/avocado/&amp;lt;br /&amp;gt;&lt;br /&gt;
* https://draw-it-with-others.org/ DIWO tools ✨&lt;br /&gt;
* https://tholman.com/cursor-effects/&lt;br /&gt;
* https://asdf.us/asciiblaster/&lt;br /&gt;
* https://halftone.xoihazard.com/&lt;br /&gt;
* https://shoebby.itch.io/visunovos&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5632</id>
		<title>Tools</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5632"/>
		<updated>2026-07-08T10:22:26Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* Serious typesetting tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Web folklore tools==&lt;br /&gt;
&lt;br /&gt;
edit this list here: [[Web folklore tools]]&lt;br /&gt;
&lt;br /&gt;
{{:Web_folklore_tools}}&lt;br /&gt;
&lt;br /&gt;
==8-bit Home computers==&lt;br /&gt;
{{Special:PrefixIndex/Typesetting tools/}}&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
* [https://www.prepressure.com/prepress/history Prepress History (from 1980s till the 2010s), by prepressure.com]&lt;br /&gt;
* [https://archive.org/details/the-creative-print-master/mode/2up The Creative PrintMaster: Graphics Designs Tips for Computer Users by Kendra R. Bonnett.]&lt;br /&gt;
* [http://archive.computerhistory.org/resources/access/text/2018/09/102740425-05-02-acc.pdf The world of digital typesetting, by John W. Seybold (1985)] - listing of lottts of typesetting systems, from the 60s, 70s until 1985&lt;br /&gt;
&lt;br /&gt;
==Serious typesetting tools==&lt;br /&gt;
&lt;br /&gt;
edit this page here: [[Typesetting tools]]&lt;br /&gt;
&lt;br /&gt;
{{:Typesetting tools}}&lt;br /&gt;
&lt;br /&gt;
==Image editing tools==&lt;br /&gt;
&lt;br /&gt;
* https://imagemagick.org&lt;br /&gt;
&lt;br /&gt;
Dithering tools:&lt;br /&gt;
&lt;br /&gt;
* https://www.stochaster.org/&lt;br /&gt;
* https://www.evilmadscientist.com/2012/stipplegen2/&lt;br /&gt;
* https://beyondloom.com/tools/ditherpaint.html&lt;br /&gt;
&lt;br /&gt;
==Other lists!==&lt;br /&gt;
&lt;br /&gt;
* https://tinytools.directory/ → zines/books + print&lt;br /&gt;
* https://polytype.dev/ (a rosetta&#039;s stone for typesetting tools, quick demo&#039;s of many different typesetting tools)&lt;br /&gt;
* https://radicalweb.design/recherche/websites/ by Julien Bidoret&lt;br /&gt;
* https://ourcollaborative.tools/en/projects EU funded research project [https://www.citedudesign.com/en/a/digital-tools-for-creative-collaboration-1705 Digital Tools for Creative Collaboration] by [https://u-r-n.io/fr random(lab)] at EDADSE in St-Etiène/Lyon icw [https://www.artun.ee EKA], [https://www.hfg-gmuend.de/ HfG] and [https://beda.org/ BEDA] (2020-2023)&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5631</id>
		<title>Tools</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5631"/>
		<updated>2026-07-08T10:22:09Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* 8-bit Home computer tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Web folklore tools==&lt;br /&gt;
&lt;br /&gt;
edit this list here: [[Web folklore tools]]&lt;br /&gt;
&lt;br /&gt;
{{:Web_folklore_tools}}&lt;br /&gt;
&lt;br /&gt;
==8-bit Home computers==&lt;br /&gt;
{{Special:PrefixIndex/Typesetting tools/}}&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
* [https://www.prepressure.com/prepress/history Prepress History (from 1980s till the 2010s), by prepressure.com]&lt;br /&gt;
* [https://archive.org/details/the-creative-print-master/mode/2up The Creative PrintMaster: Graphics Designs Tips for Computer Users by Kendra R. Bonnett.]&lt;br /&gt;
* [http://archive.computerhistory.org/resources/access/text/2018/09/102740425-05-02-acc.pdf The world of digital typesetting, by John W. Seybold (1985)] - listing of lottts of typesetting systems, from the 60s, 70s until 1985&lt;br /&gt;
&lt;br /&gt;
==Serious typesetting tools==&lt;br /&gt;
&lt;br /&gt;
edit this page here: [[Typesetting tools]]&lt;br /&gt;
&lt;br /&gt;
plus, a list of historic typesetting tools: [[Typesetting tools/Timelines]]&lt;br /&gt;
&lt;br /&gt;
{{:Typesetting tools}}&lt;br /&gt;
&lt;br /&gt;
==Image editing tools==&lt;br /&gt;
&lt;br /&gt;
* https://imagemagick.org&lt;br /&gt;
&lt;br /&gt;
Dithering tools:&lt;br /&gt;
&lt;br /&gt;
* https://www.stochaster.org/&lt;br /&gt;
* https://www.evilmadscientist.com/2012/stipplegen2/&lt;br /&gt;
* https://beyondloom.com/tools/ditherpaint.html&lt;br /&gt;
&lt;br /&gt;
==Other lists!==&lt;br /&gt;
&lt;br /&gt;
* https://tinytools.directory/ → zines/books + print&lt;br /&gt;
* https://polytype.dev/ (a rosetta&#039;s stone for typesetting tools, quick demo&#039;s of many different typesetting tools)&lt;br /&gt;
* https://radicalweb.design/recherche/websites/ by Julien Bidoret&lt;br /&gt;
* https://ourcollaborative.tools/en/projects EU funded research project [https://www.citedudesign.com/en/a/digital-tools-for-creative-collaboration-1705 Digital Tools for Creative Collaboration] by [https://u-r-n.io/fr random(lab)] at EDADSE in St-Etiène/Lyon icw [https://www.artun.ee EKA], [https://www.hfg-gmuend.de/ HfG] and [https://beda.org/ BEDA] (2020-2023)&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5630</id>
		<title>Tools</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5630"/>
		<updated>2026-07-08T10:21:12Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* 8-bit Home computer tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Web folklore tools==&lt;br /&gt;
&lt;br /&gt;
edit this list here: [[Web folklore tools]]&lt;br /&gt;
&lt;br /&gt;
{{:Web_folklore_tools}}&lt;br /&gt;
&lt;br /&gt;
==8-bit Home computer tools==&lt;br /&gt;
{{Special:PrefixIndex/Typesetting tools/}}&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
* [https://www.prepressure.com/prepress/history Prepress History (from 1980s till the 2010s), by prepressure.com]&lt;br /&gt;
* [https://archive.org/details/the-creative-print-master/mode/2up The Creative PrintMaster: Graphics Designs Tips for Computer Users by Kendra R. Bonnett.]&lt;br /&gt;
* [http://archive.computerhistory.org/resources/access/text/2018/09/102740425-05-02-acc.pdf The world of digital typesetting, by John W. Seybold (1985)] - listing of lottts of typesetting systems, from the 60s, 70s until 1985&lt;br /&gt;
&lt;br /&gt;
==Serious typesetting tools==&lt;br /&gt;
&lt;br /&gt;
edit this page here: [[Typesetting tools]]&lt;br /&gt;
&lt;br /&gt;
plus, a list of historic typesetting tools: [[Typesetting tools/Timelines]]&lt;br /&gt;
&lt;br /&gt;
{{:Typesetting tools}}&lt;br /&gt;
&lt;br /&gt;
==Image editing tools==&lt;br /&gt;
&lt;br /&gt;
* https://imagemagick.org&lt;br /&gt;
&lt;br /&gt;
Dithering tools:&lt;br /&gt;
&lt;br /&gt;
* https://www.stochaster.org/&lt;br /&gt;
* https://www.evilmadscientist.com/2012/stipplegen2/&lt;br /&gt;
* https://beyondloom.com/tools/ditherpaint.html&lt;br /&gt;
&lt;br /&gt;
==Other lists!==&lt;br /&gt;
&lt;br /&gt;
* https://tinytools.directory/ → zines/books + print&lt;br /&gt;
* https://polytype.dev/ (a rosetta&#039;s stone for typesetting tools, quick demo&#039;s of many different typesetting tools)&lt;br /&gt;
* https://radicalweb.design/recherche/websites/ by Julien Bidoret&lt;br /&gt;
* https://ourcollaborative.tools/en/projects EU funded research project [https://www.citedudesign.com/en/a/digital-tools-for-creative-collaboration-1705 Digital Tools for Creative Collaboration] by [https://u-r-n.io/fr random(lab)] at EDADSE in St-Etiène/Lyon icw [https://www.artun.ee EKA], [https://www.hfg-gmuend.de/ HfG] and [https://beda.org/ BEDA] (2020-2023)&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Typesetting_tools/PostScript&amp;diff=5629</id>
		<title>Typesetting tools/PostScript</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Typesetting_tools/PostScript&amp;diff=5629"/>
		<updated>2026-07-08T10:20:45Z</updated>

		<summary type="html">&lt;p&gt;Manetta: Created page with &amp;quot; launched in 1984, in the US, by Adobe  PostScript had a huge impact on the printing industry  PostScript aimed to be &amp;quot;the&amp;quot; universal standard, as a business strategy and preferred way of working...   PostScript starting from geometry as main framework for aesthetics.  [https://computerhistory.org/blog/postscript-a-digital-printing-press/ PostScript: A Digital Printing Press, documentation page by Computer History Museum in California]  [https://www.adobe.com/products/po...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
launched in 1984, in the US, by Adobe&lt;br /&gt;
&lt;br /&gt;
PostScript had a huge impact on the printing industry&lt;br /&gt;
&lt;br /&gt;
PostScript aimed to be &amp;quot;the&amp;quot; universal standard, as a business strategy and preferred way of working... &lt;br /&gt;
&lt;br /&gt;
PostScript starting from geometry as main framework for aesthetics.&lt;br /&gt;
&lt;br /&gt;
[https://computerhistory.org/blog/postscript-a-digital-printing-press/ PostScript: A Digital Printing Press, documentation page by Computer History Museum in California]&lt;br /&gt;
&lt;br /&gt;
[https://www.adobe.com/products/postscript.html Adobe&#039;s current webpage on PostScript]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/jAdspOtgciQ The Font Magicians - Computerphile: David Brailsford explains the font rendering issue that brought PostScript its major success]&lt;br /&gt;
&lt;br /&gt;
[https://computerhistory.org/blog/postscript-a-digital-printing-press/ PostScript: A Digital Printing Press, Computer History Museum in Mountain View (US), December 2022]&lt;br /&gt;
&lt;br /&gt;
Reading examples and documentation:&lt;br /&gt;
&lt;br /&gt;
* [https://hub.xpub.nl/bootleglibrary/book/984 the REDBOOK: PostScript Language Reference Manual]&lt;br /&gt;
* [https://hub.xpub.nl/bootleglibrary/book/985 the BLUEBOOK: PostScript Language Tutorial and Cookbook]&lt;br /&gt;
* [https://hub.xpub.nl/bootleglibrary/book/983 the GREENBOOK: PostScript Language Program Design]&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Typesetting_tools/Modular_Composition_System_(MCS)&amp;diff=5628</id>
		<title>Typesetting tools/Modular Composition System (MCS)</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Typesetting_tools/Modular_Composition_System_(MCS)&amp;diff=5628"/>
		<updated>2026-07-08T10:20:18Z</updated>

		<summary type="html">&lt;p&gt;Manetta: Created page with &amp;quot; launched in 1981?, in the US, by Compugraphic  https://archive.org/details/bitsavers_compugraphphicModularCompositionSystemBrochure_14979239  https://archive.org/details/bitsavers_compugraphphicAutomatedPublishingSystemBrochure_7972610/page/n9/mode/2up  https://en.wikipedia.org/wiki/Compugraphic&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
launched in 1981?, in the US, by Compugraphic&lt;br /&gt;
&lt;br /&gt;
https://archive.org/details/bitsavers_compugraphphicModularCompositionSystemBrochure_14979239&lt;br /&gt;
&lt;br /&gt;
https://archive.org/details/bitsavers_compugraphphicAutomatedPublishingSystemBrochure_7972610/page/n9/mode/2up&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Compugraphic&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Typesetting_tools/Scantext_1000&amp;diff=5627</id>
		<title>Typesetting tools/Scantext 1000</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Typesetting_tools/Scantext_1000&amp;diff=5627"/>
		<updated>2026-07-08T10:20:00Z</updated>

		<summary type="html">&lt;p&gt;Manetta: Created page with &amp;quot; &amp;lt;gallery&amp;gt; File:9014869362 830c3728f4 k.jpg File:9013499601 a4daccfd8f c.jpg &amp;lt;/gallery&amp;gt;  launched in 1981(?), in Germany, published by Scangraphic  a full typesetting system (! so typesetting software + printing + os + hardware in one + scanner system to &amp;quot;upload&amp;quot; new fonts?!)  https://www.flickr.com/photos/albert-jan_pool/9014869362/in/photostream/  &amp;lt;blockquote&amp;gt; Spread from the Scangraphic 1985 system brochure showing typesetting jobs on the Page View 1000, a preview ter...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:9014869362 830c3728f4 k.jpg&lt;br /&gt;
File:9013499601 a4daccfd8f c.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
launched in 1981(?), in Germany, published by Scangraphic&lt;br /&gt;
&lt;br /&gt;
a full typesetting system (! so typesetting software + printing + os + hardware in one + scanner system to &amp;quot;upload&amp;quot; new fonts?!)&lt;br /&gt;
&lt;br /&gt;
https://www.flickr.com/photos/albert-jan_pool/9014869362/in/photostream/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Spread from the Scangraphic 1985 system brochure showing typesetting jobs on the Page View 1000, a preview terminal. Graphic displays of the phototypesetting systems were that time were interactive. The Digipen 512 was used for correcting scanned BW images, on screen editing of typesetting jobs was not possible.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Scantext&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Scangraphic&lt;br /&gt;
&lt;br /&gt;
https://web.archive.org/web/20070930095501/http://www.scangraphic-fonts.com/shopdata/pdf/pdf_en/SG_We_about_us.pdf&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Typesetting_tools/Typesetter&amp;diff=5626</id>
		<title>Typesetting tools/Typesetter</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Typesetting_tools/Typesetter&amp;diff=5626"/>
		<updated>2026-07-08T10:19:16Z</updated>

		<summary type="html">&lt;p&gt;Manetta: Created page with &amp;quot; &amp;lt;gallery&amp;gt; File:Typesetter d7.jpg &amp;lt;/gallery&amp;gt;  launched in 1985, in the US, written by by Dennis Young and Len Dorfman, published by XLEnt Software  https://www.atarimania.com/pgesoft.awp?version=12536  [https://archive.org/details/typesetter-version-2-xlent-software/page/3/mode/2up Typesetter 2 - User Manual on archive.org]  The same software makers and publisher, also published in the same year: [https://www.atarimania.com/utility-atari-400-800-xl-xe-page-designer_12538...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Typesetter d7.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
launched in 1985, in the US, written by by Dennis Young and Len Dorfman, published by XLEnt Software&lt;br /&gt;
&lt;br /&gt;
https://www.atarimania.com/pgesoft.awp?version=12536&lt;br /&gt;
&lt;br /&gt;
[https://archive.org/details/typesetter-version-2-xlent-software/page/3/mode/2up Typesetter 2 - User Manual on archive.org]&lt;br /&gt;
&lt;br /&gt;
The same software makers and publisher, also published in the same year: [https://www.atarimania.com/utility-atari-400-800-xl-xe-page-designer_12538.html Page Designer] and [https://www.atarimania.com/utility-atari-400-800-xl-xe-rubber-stamp_12537.html Rubber Stamp]&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Typesetting_tools/The_Newsroom&amp;diff=5625</id>
		<title>Typesetting tools/The Newsroom</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Typesetting_tools/The_Newsroom&amp;diff=5625"/>
		<updated>2026-07-08T10:19:00Z</updated>

		<summary type="html">&lt;p&gt;Manetta: Created page with &amp;quot; &amp;lt;gallery&amp;gt; File:Screenshot from 2024-02-08 12-15-19.png File:Newsroom-Samey.png File:Newsad.jpg File:Newspro.jpg File:Newsroom-2.jpg &amp;lt;/gallery&amp;gt;  launched in 1984, in the US, published by Springboard Software  &amp;quot;Designed for journalists, The Newsroom was an early piece of WYSIWYG desktop publishing software with the flexibility to create stylish, sophisticated layouts. &amp;quot;  https://archive.org/details/a2_Newsroom_1984_Springboard_Software_cr_Ripper  WYSIWYG desktop publishin...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Screenshot from 2024-02-08 12-15-19.png&lt;br /&gt;
File:Newsroom-Samey.png&lt;br /&gt;
File:Newsad.jpg&lt;br /&gt;
File:Newspro.jpg&lt;br /&gt;
File:Newsroom-2.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
launched in 1984, in the US, published by Springboard Software&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Designed for journalists, The Newsroom was an early piece of WYSIWYG desktop publishing software with the flexibility to create stylish, sophisticated layouts. &amp;quot;&lt;br /&gt;
&lt;br /&gt;
https://archive.org/details/a2_Newsroom_1984_Springboard_Software_cr_Ripper&lt;br /&gt;
&lt;br /&gt;
WYSIWYG desktop publishing for journalists&lt;br /&gt;
&lt;br /&gt;
https://oldvcr.blogspot.com/2023/03/printing-real-headline-news-on.html?lr=1&lt;br /&gt;
&lt;br /&gt;
http://www.floodgap.com/retrobits/ckb/display.cgi?351&lt;br /&gt;
&lt;br /&gt;
https://commodore.software/downloads/download/670-desktop-publishing/15244-the-newsroom&lt;br /&gt;
&lt;br /&gt;
1984: Apple II, MS-DOS, 1985: Commodore 64, 1987: Atari 8-bit&lt;br /&gt;
&lt;br /&gt;
The Newsroom Pro (1988)&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Typesetting_tools/PrintMaster&amp;diff=5624</id>
		<title>Typesetting tools/PrintMaster</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Typesetting_tools/PrintMaster&amp;diff=5624"/>
		<updated>2026-07-08T10:18:43Z</updated>

		<summary type="html">&lt;p&gt;Manetta: Created page with &amp;quot; &amp;lt;gallery&amp;gt; File:Screenshot from 2024-02-08 12-10-20.png &amp;lt;/gallery&amp;gt;  launched in 1985 by Mindscape(?)/Encore Inc (Los Angeles), US)  https://archive.org/search?query=subject%3A%22Printmaster%22  [https://archive.org/details/PrintMasterArtGalleryIUsersGuide PrintMaster User Guide - Art Gallery]  [https://archive.org/details/PrintMasterUsersGuide2ndEdition1986 PrintMaster User&amp;#039;s Guide (2nd Edition 1986)]  in response to The Print Shop&amp;#039;s success  also seen as a copy of The P...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Screenshot from 2024-02-08 12-10-20.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
launched in 1985 by Mindscape(?)/Encore Inc (Los Angeles), US)&lt;br /&gt;
&lt;br /&gt;
https://archive.org/search?query=subject%3A%22Printmaster%22&lt;br /&gt;
&lt;br /&gt;
[https://archive.org/details/PrintMasterArtGalleryIUsersGuide PrintMaster User Guide - Art Gallery]&lt;br /&gt;
&lt;br /&gt;
[https://archive.org/details/PrintMasterUsersGuide2ndEdition1986 PrintMaster User&#039;s Guide (2nd Edition 1986)]&lt;br /&gt;
&lt;br /&gt;
in response to The Print Shop&#039;s success&lt;br /&gt;
&lt;br /&gt;
also seen as a copy of The Print Shop, there was a lawsuit in 1986 started by Brøderbund (makers of The Print Shop), later merged with Brøderbund it seems, [https://archive.ph/20120910212941/http://www.reuters.com/article/pressRelease/idUS149099+19-Oct-2009+BW20091019 PrintMaster 2.0 was published by Brøderbund in 2009].&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/PrintMaster&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Typesetting_tools/The_Print_Shop&amp;diff=5623</id>
		<title>Typesetting tools/The Print Shop</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Typesetting_tools/The_Print_Shop&amp;diff=5623"/>
		<updated>2026-07-08T10:18:07Z</updated>

		<summary type="html">&lt;p&gt;Manetta: Created page with &amp;quot; &amp;lt;gallery&amp;gt; File:Screenshot from 2024-10-23 21-36-48.png File:Screenshot from 2024-10-23 21-36-21.png File:Screenshot from 2024-10-23 21-37-07.png File:Screenshot from 2024-10-23 21-42-38.png File:Screenshot from 2024-10-23 22-07-39.png File:Print-shop-Amiga World Vol 01 01 1985 Premiere-87-copy.jpg File:Print-shop-MACE Journal v5n4 Apr 1985-22-copy.jpg File:Print-shop-Infoworld-1984-04-23-44-copy.png &amp;lt;/gallery&amp;gt;  emulator: https://theprintshop.club/  launched in 1984, mad...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Screenshot from 2024-10-23 21-36-48.png&lt;br /&gt;
File:Screenshot from 2024-10-23 21-36-21.png&lt;br /&gt;
File:Screenshot from 2024-10-23 21-37-07.png&lt;br /&gt;
File:Screenshot from 2024-10-23 21-42-38.png&lt;br /&gt;
File:Screenshot from 2024-10-23 22-07-39.png&lt;br /&gt;
File:Print-shop-Amiga World Vol 01 01 1985 Premiere-87-copy.jpg&lt;br /&gt;
File:Print-shop-MACE Journal v5n4 Apr 1985-22-copy.jpg&lt;br /&gt;
File:Print-shop-Infoworld-1984-04-23-44-copy.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
emulator: https://theprintshop.club/&lt;br /&gt;
&lt;br /&gt;
launched in 1984, made in the US, by Brøderbund&lt;br /&gt;
&lt;br /&gt;
popular desktop publishing tool for APPLE II, MS-DOS, Commodore 64, Atari&lt;br /&gt;
&lt;br /&gt;
that could be used with household dot-matrix printers&lt;br /&gt;
&lt;br /&gt;
seems to have been most popular for making your own greeting cards&lt;br /&gt;
&lt;br /&gt;
giving the computer another purpose that is not educational nor business related (!)&lt;br /&gt;
&lt;br /&gt;
[https://archive.org/details/acec_newsletter-1987-08/page/n3/mode/2up?view=theater The Print Shop review on page 4, in Atari Computer Enthusiasts/Fuji Facts Newsletter (August 1987)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
All kidding aside, a new middle ground was established (somewhere between markers and markup) and other software publishers eagerly jumped into it, creating not just ripoffs like PrintMaster, but new software such as The Newsroom, Create-A-Calendar and Awardware, each designed to provide a new ‘good enough’ solution in an area previously limited to professional or handmade alternatives. -- https://theprintshop.club/2021/07/12/a-tongue-in-cheek-look-back-at-broderbunds-the-print-shop/&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5622</id>
		<title>Tools</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5622"/>
		<updated>2026-07-08T10:17:11Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Web folklore tools==&lt;br /&gt;
&lt;br /&gt;
edit this list here: [[Web folklore tools]]&lt;br /&gt;
&lt;br /&gt;
{{:Web_folklore_tools}}&lt;br /&gt;
&lt;br /&gt;
==8-bit Home computer tools==&lt;br /&gt;
{{Special:PrefixIndex/Typesetting tools/}}&lt;br /&gt;
&lt;br /&gt;
==Serious typesetting tools==&lt;br /&gt;
&lt;br /&gt;
edit this page here: [[Typesetting tools]]&lt;br /&gt;
&lt;br /&gt;
plus, a list of historic typesetting tools: [[Typesetting tools/Timelines]]&lt;br /&gt;
&lt;br /&gt;
{{:Typesetting tools}}&lt;br /&gt;
&lt;br /&gt;
==Image editing tools==&lt;br /&gt;
&lt;br /&gt;
* https://imagemagick.org&lt;br /&gt;
&lt;br /&gt;
Dithering tools:&lt;br /&gt;
&lt;br /&gt;
* https://www.stochaster.org/&lt;br /&gt;
* https://www.evilmadscientist.com/2012/stipplegen2/&lt;br /&gt;
* https://beyondloom.com/tools/ditherpaint.html&lt;br /&gt;
&lt;br /&gt;
==Other lists!==&lt;br /&gt;
&lt;br /&gt;
* https://tinytools.directory/ → zines/books + print&lt;br /&gt;
* https://polytype.dev/ (a rosetta&#039;s stone for typesetting tools, quick demo&#039;s of many different typesetting tools)&lt;br /&gt;
* https://radicalweb.design/recherche/websites/ by Julien Bidoret&lt;br /&gt;
* https://ourcollaborative.tools/en/projects EU funded research project [https://www.citedudesign.com/en/a/digital-tools-for-creative-collaboration-1705 Digital Tools for Creative Collaboration] by [https://u-r-n.io/fr random(lab)] at EDADSE in St-Etiène/Lyon icw [https://www.artun.ee EKA], [https://www.hfg-gmuend.de/ HfG] and [https://beda.org/ BEDA] (2020-2023)&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Typesetting_tools&amp;diff=5621</id>
		<title>Typesetting tools</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Typesetting_tools&amp;diff=5621"/>
		<updated>2026-07-08T10:16:54Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Canvas tools===&lt;br /&gt;
&lt;br /&gt;
* [[Scribus]] https://www.scribus.net/&lt;br /&gt;
* [[Inkscape]] http://inkscape.org/&lt;br /&gt;
* Laidout https://laidout.org/&lt;br /&gt;
* Electric Zine Maker https://alienmelon.itch.io/electric-zine-maker&lt;br /&gt;
&lt;br /&gt;
===Engines tools===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CSS Print based ([[CSS Print]])&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* your browser (based on the supported CSS Print properties by that browser): use CTRL+P/CMD+P&lt;br /&gt;
* [[Weasyprint]] https://weasyprint.readthedocs.io/&lt;br /&gt;
* [[Paged.js]] https://www.pagedjs.org/&lt;br /&gt;
* wkhtmltopdf https://wkhtmltopdf.org/&lt;br /&gt;
* OSPKit (CSS Regions legacy support!) http://osp.kitchen/tools/ospkit/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P5.js based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* genzine https://github.com/munusshih/p5.genzine by [https://munusshih.com/ Munus Shih] and Iley Cao&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Python based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* rinohtype http://www.mos6581.org/rinohtype/master/&lt;br /&gt;
* [[ReportLab]] https://www.reportlab.com/&lt;br /&gt;
* [[Flat]] http://xxyxyz.org/flat/&lt;br /&gt;
* PyX https://pyx-project.org/ (outputs to PostScript, PDF and SVG)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TeX based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* TeX https://tug.org/ + https://en.wikipedia.org/wiki/TeX&lt;br /&gt;
* LaTeX https://www.latex-project.org/&lt;br /&gt;
* ConTeXt  https://wiki.contextgarden.net/&lt;br /&gt;
* texinfo https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Short-Sample-Texinfo-File.html&lt;br /&gt;
* tectonic https://tectonic-typesetting.github.io/&lt;br /&gt;
* lyx https://www.lyx.org/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* speedata https://showcase.speedata.de/en/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Misc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[PostScript]] https://www.adobe.com/products/postscript.html&lt;br /&gt;
* groff https://www.gnu.org/software/groff/&lt;br /&gt;
* SILE https://sile-typesetter.org/ (LaTeX-like)&lt;br /&gt;
* typst https://typst.app/ (custom markdown syntax)&lt;br /&gt;
* SATySFi https://github.com/gfngfn/SATySFi (LaTeX-like + OCaml-like)&lt;br /&gt;
* Patoline https://patoline.github.io/ (wiki/LaTeX/Ocaml-like)&amp;lt;/onlyinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Typesetting_tools&amp;diff=5620</id>
		<title>Typesetting tools</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Typesetting_tools&amp;diff=5620"/>
		<updated>2026-07-08T10:16:42Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Canvas tools===&lt;br /&gt;
&lt;br /&gt;
* [[Scribus]] https://www.scribus.net/&lt;br /&gt;
* [[Inkscape]] http://inkscape.org/&lt;br /&gt;
* Laidout https://laidout.org/&lt;br /&gt;
* Electric Zine Maker https://alienmelon.itch.io/electric-zine-maker&lt;br /&gt;
&lt;br /&gt;
===Engines tools===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CSS Print based ([[CSS Print]])&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* your browser (based on the supported CSS Print properties by that browser): use CTRL+P/CMD+P&lt;br /&gt;
* [[Weasyprint]] https://weasyprint.readthedocs.io/&lt;br /&gt;
* [[Paged.js]] https://www.pagedjs.org/&lt;br /&gt;
* wkhtmltopdf https://wkhtmltopdf.org/&lt;br /&gt;
* OSPKit (CSS Regions legacy support!) http://osp.kitchen/tools/ospkit/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P5.js based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* genzine https://github.com/munusshih/p5.genzine by [https://munusshih.com/ Munus Shih] and Iley Cao&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Python based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* rinohtype http://www.mos6581.org/rinohtype/master/&lt;br /&gt;
* [[ReportLab]] https://www.reportlab.com/&lt;br /&gt;
* [[Flat]] http://xxyxyz.org/flat/&lt;br /&gt;
* PyX https://pyx-project.org/ (outputs to PostScript, PDF and SVG)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TeX based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* TeX https://tug.org/ + https://en.wikipedia.org/wiki/TeX&lt;br /&gt;
* LaTeX https://www.latex-project.org/&lt;br /&gt;
* ConTeXt  https://wiki.contextgarden.net/&lt;br /&gt;
* texinfo https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Short-Sample-Texinfo-File.html&lt;br /&gt;
* tectonic https://tectonic-typesetting.github.io/&lt;br /&gt;
* lyx https://www.lyx.org/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML based&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* speedata https://showcase.speedata.de/en/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Misc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[PostScript]] https://www.adobe.com/products/postscript.html&lt;br /&gt;
* groff https://www.gnu.org/software/groff/&lt;br /&gt;
* SILE https://sile-typesetter.org/ (LaTeX-like)&lt;br /&gt;
* typst https://typst.app/ (custom markdown syntax)&lt;br /&gt;
* SATySFi https://github.com/gfngfn/SATySFi (LaTeX-like + OCaml-like)&lt;br /&gt;
* Patoline https://patoline.github.io/ (wiki/LaTeX/Ocaml-like)&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==8-bit Home computer tools==&lt;br /&gt;
{{Special:PrefixIndex/Typesetting tools/}}&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5619</id>
		<title>Tools</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Tools&amp;diff=5619"/>
		<updated>2026-07-08T10:14:16Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* Typesetting tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Web folklore tools==&lt;br /&gt;
&lt;br /&gt;
edit this list here: [[Web folklore tools]]&lt;br /&gt;
&lt;br /&gt;
{{:Web_folklore_tools}}&lt;br /&gt;
&lt;br /&gt;
==Serious typesetting tools==&lt;br /&gt;
&lt;br /&gt;
edit this page here: [[Typesetting tools]]&lt;br /&gt;
&lt;br /&gt;
plus, a list of historic typesetting tools: [[Typesetting tools/Timelines]]&lt;br /&gt;
&lt;br /&gt;
{{:Typesetting tools}}&lt;br /&gt;
&lt;br /&gt;
==Image editing tools==&lt;br /&gt;
&lt;br /&gt;
* https://imagemagick.org&lt;br /&gt;
&lt;br /&gt;
Dithering tools:&lt;br /&gt;
&lt;br /&gt;
* https://www.stochaster.org/&lt;br /&gt;
* https://www.evilmadscientist.com/2012/stipplegen2/&lt;br /&gt;
* https://beyondloom.com/tools/ditherpaint.html&lt;br /&gt;
&lt;br /&gt;
==Other lists!==&lt;br /&gt;
&lt;br /&gt;
* https://tinytools.directory/ → zines/books + print&lt;br /&gt;
* https://polytype.dev/ (a rosetta&#039;s stone for typesetting tools, quick demo&#039;s of many different typesetting tools)&lt;br /&gt;
* https://radicalweb.design/recherche/websites/ by Julien Bidoret&lt;br /&gt;
* https://ourcollaborative.tools/en/projects EU funded research project [https://www.citedudesign.com/en/a/digital-tools-for-creative-collaboration-1705 Digital Tools for Creative Collaboration] by [https://u-r-n.io/fr random(lab)] at EDADSE in St-Etiène/Lyon icw [https://www.artun.ee EKA], [https://www.hfg-gmuend.de/ HfG] and [https://beda.org/ BEDA] (2020-2023)&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Debooklet&amp;diff=5612</id>
		<title>Debooklet</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Debooklet&amp;diff=5612"/>
		<updated>2026-05-27T07:12:47Z</updated>

		<summary type="html">&lt;p&gt;Manetta: Created page with &amp;quot;* PDF page resize: https://ghostscript.readthedocs.io/en/gs10.05.1/Use.html#choosing-paper-size * PDF splitting: https://superuser.com/questions/1546709/can-mutool-split-a-big-pdf-file-into-individual-pdf-pages * debooklet tool: https://github.com/wspringer/debooklet  via https://post.lurk.org/@doriane/116628774671755676&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* PDF page resize: https://ghostscript.readthedocs.io/en/gs10.05.1/Use.html#choosing-paper-size&lt;br /&gt;
* PDF splitting: https://superuser.com/questions/1546709/can-mutool-split-a-big-pdf-file-into-individual-pdf-pages&lt;br /&gt;
* debooklet tool: https://github.com/wspringer/debooklet&lt;br /&gt;
&lt;br /&gt;
via https://post.lurk.org/@doriane/116628774671755676&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Howtos&amp;diff=5611</id>
		<title>Howtos</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Howtos&amp;diff=5611"/>
		<updated>2026-05-27T07:11:36Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==on CC==&lt;br /&gt;
&lt;br /&gt;
* [[CSS Print]]&lt;br /&gt;
* [[changing terminal background color when SSH-ing]]&lt;br /&gt;
* [[autoindex on nginx]]&lt;br /&gt;
* [[serving from your home folder on nginx]]&lt;br /&gt;
* [[AsciiWriter/sinus.py]]&lt;br /&gt;
* [[Autorefresh.sh]]&lt;br /&gt;
* [[Compresspdf.sh]]&lt;br /&gt;
* [[Two-a4-on-one-a3.sh]]&lt;br /&gt;
* [[Debooklet]]&lt;br /&gt;
* [[Prepress]]&lt;br /&gt;
* [[Set Paged.js in presentation mode]]&lt;br /&gt;
* [[How to make the EtherpadLite MediaWiki extention not leak ip-addresses or usernames]]&lt;br /&gt;
* [[Making HTML snapshots of Cobbled Pads for OSP]]&lt;br /&gt;
* [[Password protection in NGINX]]&lt;br /&gt;
&lt;br /&gt;
==From elsewhere==&lt;br /&gt;
&lt;br /&gt;
* https://wiki.scribus.net/canvas/How_to_make_a_booklet&lt;br /&gt;
* https://www.joshwcomeau.com/css/make-beautiful-gradients/&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Ikiwiki&amp;diff=5610</id>
		<title>Ikiwiki</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Ikiwiki&amp;diff=5610"/>
		<updated>2026-05-19T16:03:19Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* nginx */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is here to share my experiences with ikiwiki after having worked with it for the [https://hub.xpub.nl/rushtonhosts/everything-magazine-archive/ everything magazine archive] together with Simon and/for Steve.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
We took notes while working on this project here: https://hub.xpub.nl/rushtonhosts/everything-magazine-archive/backstage/&lt;br /&gt;
&lt;br /&gt;
==Server configs==&lt;br /&gt;
&lt;br /&gt;
This is a trace down of the config files of the everything ikiwiki. &lt;br /&gt;
&lt;br /&gt;
I can&#039;t remember which source i followed to set it up, or where i learned from, but i think it was the official ikiwiki documentation. And i remember it was quite a struggle. Specially the fastcgi part!&lt;br /&gt;
&lt;br /&gt;
===nginx===&lt;br /&gt;
&lt;br /&gt;
 /etc/nginx/sites-enabled/default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
        # Enable CGI for ikiwiki&lt;br /&gt;
        location ~ \.cgi$ {&lt;br /&gt;
                auth_basic &amp;quot;If you are the lucky winner of the password quiz, please complete the rubric below.&amp;quot;;&lt;br /&gt;
                auth_basic_user_file /etc/apache2/.htpasswd;&lt;br /&gt;
                gzip off;&lt;br /&gt;
                fastcgi_pass unix:/var/run/fcgiwrap.socket;&lt;br /&gt;
                include fastcgi_params;&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ikiwiki-cgi.service===&lt;br /&gt;
&lt;br /&gt;
 /etc/systemd/system/ikiwiki-cgi.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ikiwiki fcgi socket wrap&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=ikiwiki&lt;br /&gt;
Group=www-data&lt;br /&gt;
ExecStart=/usr/bin/spawn-fcgi -s /var/run/fcgi.socket -n -- /usr/sbin/fcgiwrap&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===fcgiwrap.service===&lt;br /&gt;
&lt;br /&gt;
 /lib/systemd/system/fcgiwrap.service&lt;br /&gt;
&lt;br /&gt;
(but i think this was generated automatically, i did not touch it!)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Simple CGI Server&lt;br /&gt;
After=nss-user-lookup.target&lt;br /&gt;
Requires=fcgiwrap.socket&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Environment=DAEMON_OPTS=-f&lt;br /&gt;
EnvironmentFile=-/etc/default/fcgiwrap&lt;br /&gt;
ExecStart=/usr/sbin/fcgiwrap ${DAEMON_OPTS}&lt;br /&gt;
User=www-data&lt;br /&gt;
Group=www-data&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
Also=fcgiwrap.socket&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===fastcgi.conf===&lt;br /&gt;
&lt;br /&gt;
 /etc/nginx/fastcgi.conf&lt;br /&gt;
&lt;br /&gt;
I found these lines commented out in this file, so i guess i tried something here, but it was not needed in the end.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
# Added for rushtonhosts&lt;br /&gt;
# fastcgi_param  DOCUMENT_ROOT      /rushtonhosts/&lt;br /&gt;
# fastcgi_param  SCRIPT_FILENAME    /rushtonhosts/$fastcgi_script_name;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Ikiwiki&amp;diff=5609</id>
		<title>Ikiwiki</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Ikiwiki&amp;diff=5609"/>
		<updated>2026-05-19T16:02:04Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* fcgiwrap.service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is here to share my experiences with ikiwiki after having worked with it for the [https://hub.xpub.nl/rushtonhosts/everything-magazine-archive/ everything magazine archive] together with Simon and/for Steve.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
We took notes while working on this project here: https://hub.xpub.nl/rushtonhosts/everything-magazine-archive/backstage/&lt;br /&gt;
&lt;br /&gt;
==Server configs==&lt;br /&gt;
&lt;br /&gt;
===nginx===&lt;br /&gt;
&lt;br /&gt;
 /etc/nginx/sites-enabled/default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
        # Enable CGI for ikiwiki&lt;br /&gt;
        location ~ \.cgi$ {&lt;br /&gt;
                auth_basic &amp;quot;If you are the lucky winner of the password quiz, please complete the rubric below.&amp;quot;;&lt;br /&gt;
                auth_basic_user_file /etc/apache2/.htpasswd;&lt;br /&gt;
                gzip off;&lt;br /&gt;
                fastcgi_pass unix:/var/run/fcgiwrap.socket;&lt;br /&gt;
                include fastcgi_params;&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ikiwiki-cgi.service===&lt;br /&gt;
&lt;br /&gt;
 /etc/systemd/system/ikiwiki-cgi.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ikiwiki fcgi socket wrap&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=ikiwiki&lt;br /&gt;
Group=www-data&lt;br /&gt;
ExecStart=/usr/bin/spawn-fcgi -s /var/run/fcgi.socket -n -- /usr/sbin/fcgiwrap&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===fcgiwrap.service===&lt;br /&gt;
&lt;br /&gt;
 /lib/systemd/system/fcgiwrap.service&lt;br /&gt;
&lt;br /&gt;
(but i think this was generated automatically, i did not touch it!)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Simple CGI Server&lt;br /&gt;
After=nss-user-lookup.target&lt;br /&gt;
Requires=fcgiwrap.socket&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Environment=DAEMON_OPTS=-f&lt;br /&gt;
EnvironmentFile=-/etc/default/fcgiwrap&lt;br /&gt;
ExecStart=/usr/sbin/fcgiwrap ${DAEMON_OPTS}&lt;br /&gt;
User=www-data&lt;br /&gt;
Group=www-data&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
Also=fcgiwrap.socket&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===fastcgi.conf===&lt;br /&gt;
&lt;br /&gt;
 /etc/nginx/fastcgi.conf&lt;br /&gt;
&lt;br /&gt;
I found these lines commented out in this file, so i guess i tried something here, but it was not needed in the end.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
# Added for rushtonhosts&lt;br /&gt;
# fastcgi_param  DOCUMENT_ROOT      /rushtonhosts/&lt;br /&gt;
# fastcgi_param  SCRIPT_FILENAME    /rushtonhosts/$fastcgi_script_name;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Ikiwiki&amp;diff=5608</id>
		<title>Ikiwiki</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Ikiwiki&amp;diff=5608"/>
		<updated>2026-05-19T15:58:57Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is here to share my experiences with ikiwiki after having worked with it for the [https://hub.xpub.nl/rushtonhosts/everything-magazine-archive/ everything magazine archive] together with Simon and/for Steve.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
We took notes while working on this project here: https://hub.xpub.nl/rushtonhosts/everything-magazine-archive/backstage/&lt;br /&gt;
&lt;br /&gt;
==Server configs==&lt;br /&gt;
&lt;br /&gt;
===nginx===&lt;br /&gt;
&lt;br /&gt;
 /etc/nginx/sites-enabled/default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
        # Enable CGI for ikiwiki&lt;br /&gt;
        location ~ \.cgi$ {&lt;br /&gt;
                auth_basic &amp;quot;If you are the lucky winner of the password quiz, please complete the rubric below.&amp;quot;;&lt;br /&gt;
                auth_basic_user_file /etc/apache2/.htpasswd;&lt;br /&gt;
                gzip off;&lt;br /&gt;
                fastcgi_pass unix:/var/run/fcgiwrap.socket;&lt;br /&gt;
                include fastcgi_params;&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ikiwiki-cgi.service===&lt;br /&gt;
&lt;br /&gt;
 /etc/systemd/system/ikiwiki-cgi.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ikiwiki fcgi socket wrap&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=ikiwiki&lt;br /&gt;
Group=www-data&lt;br /&gt;
ExecStart=/usr/bin/spawn-fcgi -s /var/run/fcgi.socket -n -- /usr/sbin/fcgiwrap&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===fcgiwrap.service===&lt;br /&gt;
&lt;br /&gt;
 /lib/systemd/system/fcgiwrap.service&lt;br /&gt;
&lt;br /&gt;
(but i think this was generated automatically, i did not touch it!)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Simple CGI Server&lt;br /&gt;
After=nss-user-lookup.target&lt;br /&gt;
Requires=fcgiwrap.socket&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Environment=DAEMON_OPTS=-f&lt;br /&gt;
EnvironmentFile=-/etc/default/fcgiwrap&lt;br /&gt;
ExecStart=/usr/sbin/fcgiwrap ${DAEMON_OPTS}&lt;br /&gt;
User=www-data&lt;br /&gt;
Group=www-data&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
Also=fcgiwrap.socket&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Ikiwiki&amp;diff=5607</id>
		<title>Ikiwiki</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Ikiwiki&amp;diff=5607"/>
		<updated>2026-05-19T15:57:14Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* fcgiwrap.service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is here to share my experiences with ikiwiki after having worked with it for the [https://hub.xpub.nl/rushtonhosts/everything-magazine-archive/ everything magazine archive] together with Simon and/for Steve.&lt;br /&gt;
&lt;br /&gt;
==Server configs==&lt;br /&gt;
&lt;br /&gt;
===nginx===&lt;br /&gt;
&lt;br /&gt;
 /etc/nginx/sites-enabled/default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
        # Enable CGI for ikiwiki&lt;br /&gt;
        location ~ \.cgi$ {&lt;br /&gt;
                auth_basic &amp;quot;If you are the lucky winner of the password quiz, please complete the rubric below.&amp;quot;;&lt;br /&gt;
                auth_basic_user_file /etc/apache2/.htpasswd;&lt;br /&gt;
                gzip off;&lt;br /&gt;
                fastcgi_pass unix:/var/run/fcgiwrap.socket;&lt;br /&gt;
                include fastcgi_params;&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ikiwiki-cgi.service===&lt;br /&gt;
&lt;br /&gt;
 /etc/systemd/system/ikiwiki-cgi.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ikiwiki fcgi socket wrap&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=ikiwiki&lt;br /&gt;
Group=www-data&lt;br /&gt;
ExecStart=/usr/bin/spawn-fcgi -s /var/run/fcgi.socket -n -- /usr/sbin/fcgiwrap&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===fcgiwrap.service===&lt;br /&gt;
&lt;br /&gt;
 /lib/systemd/system/fcgiwrap.service&lt;br /&gt;
&lt;br /&gt;
(but i think this was generated automatically, i did not touch it!)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Simple CGI Server&lt;br /&gt;
After=nss-user-lookup.target&lt;br /&gt;
Requires=fcgiwrap.socket&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Environment=DAEMON_OPTS=-f&lt;br /&gt;
EnvironmentFile=-/etc/default/fcgiwrap&lt;br /&gt;
ExecStart=/usr/sbin/fcgiwrap ${DAEMON_OPTS}&lt;br /&gt;
User=www-data&lt;br /&gt;
Group=www-data&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
Also=fcgiwrap.socket&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Ikiwiki&amp;diff=5606</id>
		<title>Ikiwiki</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Ikiwiki&amp;diff=5606"/>
		<updated>2026-05-19T15:57:03Z</updated>

		<summary type="html">&lt;p&gt;Manetta: Created page with &amp;quot;This page is here to share my experiences with ikiwiki after having worked with it for the [https://hub.xpub.nl/rushtonhosts/everything-magazine-archive/ everything magazine archive] together with Simon and/for Steve.  ==Server configs==  ===nginx===   /etc/nginx/sites-enabled/default  &amp;lt;syntaxhighlight&amp;gt;         # Enable CGI for ikiwiki         location ~ \.cgi$ {                 auth_basic &amp;quot;If you are the lucky winner of the password quiz, please complete the rubric belo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is here to share my experiences with ikiwiki after having worked with it for the [https://hub.xpub.nl/rushtonhosts/everything-magazine-archive/ everything magazine archive] together with Simon and/for Steve.&lt;br /&gt;
&lt;br /&gt;
==Server configs==&lt;br /&gt;
&lt;br /&gt;
===nginx===&lt;br /&gt;
&lt;br /&gt;
 /etc/nginx/sites-enabled/default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
        # Enable CGI for ikiwiki&lt;br /&gt;
        location ~ \.cgi$ {&lt;br /&gt;
                auth_basic &amp;quot;If you are the lucky winner of the password quiz, please complete the rubric below.&amp;quot;;&lt;br /&gt;
                auth_basic_user_file /etc/apache2/.htpasswd;&lt;br /&gt;
                gzip off;&lt;br /&gt;
                fastcgi_pass unix:/var/run/fcgiwrap.socket;&lt;br /&gt;
                include fastcgi_params;&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ikiwiki-cgi.service===&lt;br /&gt;
&lt;br /&gt;
 /etc/systemd/system/ikiwiki-cgi.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ikiwiki fcgi socket wrap&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=ikiwiki&lt;br /&gt;
Group=www-data&lt;br /&gt;
ExecStart=/usr/bin/spawn-fcgi -s /var/run/fcgi.socket -n -- /usr/sbin/fcgiwrap&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===fcgiwrap.service===&lt;br /&gt;
&lt;br /&gt;
/lib/systemd/system/fcgiwrap.service&lt;br /&gt;
&lt;br /&gt;
(but i think this was generated automatically, i did not touch it!)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Simple CGI Server&lt;br /&gt;
After=nss-user-lookup.target&lt;br /&gt;
Requires=fcgiwrap.socket&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Environment=DAEMON_OPTS=-f&lt;br /&gt;
EnvironmentFile=-/etc/default/fcgiwrap&lt;br /&gt;
ExecStart=/usr/sbin/fcgiwrap ${DAEMON_OPTS}&lt;br /&gt;
User=www-data&lt;br /&gt;
Group=www-data&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
Also=fcgiwrap.socket&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Installing_octomode&amp;diff=5598</id>
		<title>Installing octomode</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Installing_octomode&amp;diff=5598"/>
		<updated>2026-04-07T13:31:47Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* How to install octomode? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;Installation notes for [[octomode]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==How to install octomode?==&lt;br /&gt;
&lt;br /&gt;
The code we use + an installation guide can be found here: https://git.vvvvvvaria.org/CC/octomode&lt;br /&gt;
&lt;br /&gt;
A more expanded installation guide can be found below, written in the context of rosa in March 2022: https://hub.vvvvvvaria.org/rosa/&lt;br /&gt;
&lt;br /&gt;
===Step 1: Download the octomode code from the Varia git=== &lt;br /&gt;
&lt;br /&gt;
First go to the location where you want to install octomode. This should be outside of the public webserver folders, as we will have to save an API key of the etherpad at some point, and you don’t want to share that key in public. Also, switch to the root user for this step. &lt;br /&gt;
&lt;br /&gt;
 $ sudo su&lt;br /&gt;
 # cd /opt/&lt;br /&gt;
 # git clone https://git.vvvvvvaria.org/CC/octomode.git&lt;br /&gt;
&lt;br /&gt;
===Step 2: Make an octomode system user=== &lt;br /&gt;
&lt;br /&gt;
We will make an “octomode” user on the server to run octomode with this user. In this way we can restrict the access of this user to the rest of the server. It’s a way to make sure that the pads in octomode cannot be used to write code in a specific way, that it can be executed on the server. &lt;br /&gt;
&lt;br /&gt;
Make a system user called “octomode”. &lt;br /&gt;
&lt;br /&gt;
 # useradd --system --no-create-home --shell=/sbin/nologin octomode &lt;br /&gt;
&lt;br /&gt;
Give read and write access + ownership to the &amp;lt;code&amp;gt;/opt/octomode&amp;lt;/code&amp;gt; folder to the octomode user. &lt;br /&gt;
&lt;br /&gt;
 # chown -R octomode:octomode /opt/octomode&lt;br /&gt;
&lt;br /&gt;
 # chmod -R u+rw /opt/octomode&lt;br /&gt;
&lt;br /&gt;
To handle the limited folder access, i’m not sure what to do. &lt;br /&gt;
&lt;br /&gt;
Maybe a so called &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt; can be used? &lt;br /&gt;
&lt;br /&gt;
Asking for advice here: https://git.vvvvvvaria.org/varia/octomode/issues/2#issuecomment-757&lt;br /&gt;
&lt;br /&gt;
===Step 3: Get the API key of the etherpad you want to use=== &lt;br /&gt;
&lt;br /&gt;
This can be a local one which is running on the same server, or an etherpad that is running somewhere else. &lt;br /&gt;
&lt;br /&gt;
 # cat /opt/etherpad/APIKEY.txt&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using a newer version of etherpad, the &amp;lt;code&amp;gt;APIKEY.txt&amp;lt;/code&amp;gt; is not used anymore for accessing the API. But you can still enable it!&lt;br /&gt;
&lt;br /&gt;
 # sudo /opt/etherpad/settings.json&lt;br /&gt;
&lt;br /&gt;
Change the following line: &lt;br /&gt;
&lt;br /&gt;
 &amp;quot;authenticationMethod&amp;quot;: &amp;quot;${AUTHENTICATION_METHOD:sso}&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
into this:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;authenticationMethod&amp;quot;: &amp;quot;${AUTHENTICATION_METHOD:apikey}&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
Restart etherpad, and the &amp;lt;code&amp;gt;APIKEY.txt&amp;lt;/code&amp;gt; should be generated again.&lt;br /&gt;
&lt;br /&gt;
 # systemctl restart etherpad&lt;br /&gt;
&lt;br /&gt;
Copy the key and save it somewhere temporary.&lt;br /&gt;
&lt;br /&gt;
===Step 4: configure octomode===&lt;br /&gt;
&lt;br /&gt;
To configure octomode, save the following configuration settings as to a file called &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OCTOMODE_APPLICATION_ROOT=XXX&lt;br /&gt;
OCTOMODE_PORTNUMBER=XXX&lt;br /&gt;
OCTOMODE_PAD_URL=XXX&lt;br /&gt;
OCTOMODE_PAD_API_URL=XXX&lt;br /&gt;
OCTOMODE_PAD_API_KEY=XXX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # cd /opt/octomode/&lt;br /&gt;
 # nano .env&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;OCTOMODE_PAD_API_KEY&#039;&#039;&#039;: &#039;&#039;required&#039;&#039;, &#039;&#039;&#039;no default&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;OCTOMODE_APPLICATION_ROOT&#039;&#039;&#039;: &#039;&#039;optional&#039;&#039;, default: &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;OCTOMODE_PORTNUMBER&#039;&#039;&#039;: &#039;&#039;optional&#039;&#039;, default: &amp;lt;code&amp;gt;5001&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;OCTOMODE_PAD_URL&#039;&#039;&#039;: &#039;&#039;required&#039;&#039;, default: &amp;lt;code&amp;gt;https://cc.practices.tools/pad/&amp;lt;/code&amp;gt; (you need API access to this pad instance)&lt;br /&gt;
* &#039;&#039;&#039;OCTOMODE_PAD_API_URL&#039;&#039;&#039;: &#039;&#039;required&#039;&#039;, default: &amp;lt;code&amp;gt;https://cc.practices.tools/pad/api/1.2.15/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: you must provide a value for &amp;lt;code&amp;gt;OCTOMODE_PAD_API_KEY&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OCTOMODE_PAD_URL&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;OCTOMODE_PAD_API_URL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
You can also change the “PORTNUMBER”, this is the port at which octomode will be running. You can change it to any port number that is not used yet on the server. &lt;br /&gt;
&lt;br /&gt;
Close and save the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file with &amp;lt;code&amp;gt;CTRL+X&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ENTER&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Step 5: Install the dependencies that octomode uses=== &lt;br /&gt;
&lt;br /&gt;
First make sure that &amp;lt;code&amp;gt;pip3&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pandoc&amp;lt;/code&amp;gt; is installed. &lt;br /&gt;
&lt;br /&gt;
On debian you can install it by running: &lt;br /&gt;
&lt;br /&gt;
 # apt install python3-venv pandoc&lt;br /&gt;
&lt;br /&gt;
There is a Makefile in the octomode folder, which can be used to install the dependencies. &lt;br /&gt;
&lt;br /&gt;
First navigate to the octomode folder and then run: &lt;br /&gt;
&lt;br /&gt;
 # cd /opt/octomode&lt;br /&gt;
 # make setup&lt;br /&gt;
&lt;br /&gt;
Change the ownership of the installed dependencies to octomode. &lt;br /&gt;
&lt;br /&gt;
 # chown -R octomode:octomode .venv&lt;br /&gt;
&lt;br /&gt;
===Step 6: Try to run octomode, to see if it works!=== &lt;br /&gt;
&lt;br /&gt;
 # make local&lt;br /&gt;
&lt;br /&gt;
If you are currently in the same local network as rosa, you can visit rosa’s ip address on port 5001. &lt;br /&gt;
&lt;br /&gt;
http://192.168.178.58:5001 &lt;br /&gt;
&lt;br /&gt;
It could be, that the etherpads in the iframes are blocked because of a cross-site header...&lt;br /&gt;
&lt;br /&gt;
If you are trying to use an etherpad that runs on the same server, try to switch your &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; settings to the same ip-adress or domain name.&lt;br /&gt;
&lt;br /&gt;
Try to visit all the different “modes”: &amp;lt;code&amp;gt;pad&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;stylesheet&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;html&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pdf&amp;lt;/code&amp;gt;, to make sure that they all work. &lt;br /&gt;
&lt;br /&gt;
You can stop the application with &amp;lt;code&amp;gt;CTRL+C&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Step 7: Run octomode as a background service=== &lt;br /&gt;
&lt;br /&gt;
Octomode is written in Flask, a python library to make web applications. It needs to run all the time in order to be available for people to use. We will make a systemd &amp;lt;code&amp;gt;.service&amp;lt;/code&amp;gt; file for this. https://blog.miguelgrinberg.com/post/running-a-flask-application-as-a-service-with-systemd &lt;br /&gt;
&lt;br /&gt;
Make a &amp;lt;code&amp;gt;.service&amp;lt;/code&amp;gt; file for octomode: &lt;br /&gt;
&lt;br /&gt;
 # nano /etc/systemd/system/octomode.service &lt;br /&gt;
&lt;br /&gt;
Paste the following configurations in the file: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit] &lt;br /&gt;
Description=Collective PDF rendering environment After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
User=octomode  &lt;br /&gt;
WorkingDirectory=/opt/octomode     &lt;br /&gt;
ExecStart=make local&lt;br /&gt;
Restart=always&lt;br /&gt;
 &lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload the systemd daemon: &lt;br /&gt;
&lt;br /&gt;
 # systemctl daemon-reload &lt;br /&gt;
&lt;br /&gt;
Enable octomode as a service:&lt;br /&gt;
&lt;br /&gt;
 # systemctl enable octomode &lt;br /&gt;
&lt;br /&gt;
And start the octomode service. &lt;br /&gt;
&lt;br /&gt;
 # systemctl start octomode &lt;br /&gt;
&lt;br /&gt;
Check if it works by visiting http://192.168.178.58:5001/ again!&lt;br /&gt;
&lt;br /&gt;
===Step 8: Connect octomode to an URL===&lt;br /&gt;
&lt;br /&gt;
To access octomode through an URL, like https://rosa.vvvvvvaria.org/octomode/, a mapping is needed to route octomode’s port 5001 to the URL that will be used. In nginx, we can use a proxy_jump for this. &lt;br /&gt;
&lt;br /&gt;
Open the nginx configuration file. &lt;br /&gt;
&lt;br /&gt;
 # cd /etc/nginx/sites-enabled &lt;br /&gt;
 # nano default &lt;br /&gt;
&lt;br /&gt;
Add the following setting to the nginx file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
location /octomode { &lt;br /&gt;
    proxy_pass http://127.0.0.1:5001; &lt;br /&gt;
    auth_basic &amp;quot;Hello! This is the CC version of octomode, octomode-as-a-service for a trusted peers-to-peers network.&amp;quot;;&lt;br /&gt;
    auth_basic_user_file /etc/nginx/.htpasswd;&lt;br /&gt;
} &lt;br /&gt;
# Serve the /static/ folder nginx (instead of Flask) &lt;br /&gt;
# as this Flask installation runs outside the root URL &lt;br /&gt;
location ^~ /static/ { &lt;br /&gt;
    alias /opt/octomode/static/; &lt;br /&gt;
    autoindex off;&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At CC we share a password between a trusted peers-to-peers network, which you have to generate to make above configurations with the &amp;lt;code&amp;gt;auth_basic&amp;lt;/code&amp;gt; settings work.&lt;br /&gt;
&lt;br /&gt;
For this, you can follow: https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/&lt;br /&gt;
&lt;br /&gt;
Change the permissions of the &amp;lt;code&amp;gt;/opt/octomode/static/&amp;lt;/code&amp;gt; folder, as this folder will be served by nginx. &lt;br /&gt;
&lt;br /&gt;
 # chown -R www-data:www-data /opt/octomode/static/ &lt;br /&gt;
 # chmod -R g+w /opt/octomode/static/ &lt;br /&gt;
&lt;br /&gt;
Check if you configuarion is oke. &lt;br /&gt;
&lt;br /&gt;
 # nginx -t &lt;br /&gt;
&lt;br /&gt;
If so, then reload nginx. &lt;br /&gt;
&lt;br /&gt;
 # systemctl reload nginx &lt;br /&gt;
&lt;br /&gt;
To test it, run:&lt;br /&gt;
&lt;br /&gt;
 # make action&lt;br /&gt;
&lt;br /&gt;
This will first check if you already install gunicorn in the .venv folder, and after that run octomode with gunicorn and not the built-in Flask dev server.&lt;br /&gt;
&lt;br /&gt;
And lastly, change your systemd background service file, to switch to &amp;lt;code&amp;gt;make action&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 # nano /etc/systemd/system/octomode.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Collective PDF rendering environment After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
User=octomode&lt;br /&gt;
WorkingDirectory=/opt/octomode&lt;br /&gt;
ExecStart=make action&lt;br /&gt;
Restart=always&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See if it works by visiting http://192.168.178.58/octomode/ or https://rosa.vvvvvvaria.org/octomode/.&lt;br /&gt;
&lt;br /&gt;
==Octomode default templates==&lt;br /&gt;
&lt;br /&gt;
===PAD.md===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
title: octomode&lt;br /&gt;
language: en&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
&lt;br /&gt;
                                      |      &lt;br /&gt;
  __   __ _|_  __   _  _  _    __   __|   _  &lt;br /&gt;
 /  \_/    |  /  \_/ |/ |/ |  /  \_/  |  |/  &lt;br /&gt;
 \__/ \___/|_/\__/   |  |  |_/\__/ \_/|_/|__/&lt;br /&gt;
                                             &lt;br /&gt;
  &lt;br /&gt;
  This document is opened in octomode.&lt;br /&gt;
&lt;br /&gt;
  pad          : all materials for the PDF are collected here (written in Markdown)&lt;br /&gt;
  stylesheet   : all CSS rules for the PDF are collected here (written in CSS)&lt;br /&gt;
  html         : render the structure of the lay out as a HTML (with PyPandoc)&lt;br /&gt;
                 [note] this view does not render any styling!&lt;br /&gt;
  pdf          : render the lay out as a PDF (with Paged.js)&lt;br /&gt;
&lt;br /&gt;
  https://git.vvvvvvaria.org/cc/octomode&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
This pad is hosted by CC (creative crowds), a server that we share for doing&lt;br /&gt;
collective research on the entanglements of tools, cultures and infrastructure. &lt;br /&gt;
&lt;br /&gt;
How can this server be available AND unstable, public AND being paid for,&lt;br /&gt;
free to be used AND situated, a production environment AND in transformation?&lt;br /&gt;
&lt;br /&gt;
While surfing the contradictions, we are formulting collective guidelines for &lt;br /&gt;
engaging with this server, which you can find at: https://cc.practices.tools&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section id=&amp;quot;cover&amp;quot;&amp;gt;&lt;br /&gt;
# *in octomode* { #title }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section id=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
Octomode is a collective editing space for PDF making, using Etherpad, Paged.js and Flask.&lt;br /&gt;
&lt;br /&gt;
Inspired by the multi-centered, tentacular cognition capabilities of the octopus, we imagined a space in which the artificial boundaries of writing and design can be crossed; where writing, editing and designing can be done in one environment simultaneously, allowing the format to influence the matter and vice-versa. &lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
Edit this text in the PAD view.&lt;br /&gt;
Edit the styling in the STYLESHEET view. &lt;br /&gt;
Preview the page in the HTML view.&lt;br /&gt;
Render it on pages in the PDF view.&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PAD.css===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@charset &amp;quot;utf-8&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
@page{&lt;br /&gt;
    size: A5;&lt;br /&gt;
    margin: 10mm 20mm 25mm 20mm;&lt;br /&gt;
&lt;br /&gt;
    @bottom-center{&lt;br /&gt;
        content: counter(page);&lt;br /&gt;
        font-family: monospace;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
body{&lt;br /&gt;
    font-size: 12px;&lt;br /&gt;
    line-height: 1.5;&lt;br /&gt;
    color: #822b01;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------------ cover */&lt;br /&gt;
&lt;br /&gt;
@page:first{&lt;br /&gt;
    background-color: #f3c6ff;&lt;br /&gt;
    color: #822b01;&lt;br /&gt;
}&lt;br /&gt;
section#cover{&lt;br /&gt;
    break-after: always;&lt;br /&gt;
}&lt;br /&gt;
section#cover h1#title{&lt;br /&gt;
    font-size: 300%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ------------------------------------ main */&lt;br /&gt;
&lt;br /&gt;
section#main pre{&lt;br /&gt;
    color: magenta;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Main_Page&amp;diff=5597</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Main_Page&amp;diff=5597"/>
		<updated>2026-03-28T13:30:20Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;margin-left:1em;&amp;quot;&amp;gt;&amp;lt;eplite id=&amp;quot;cc-conditions&amp;quot; show-chat=&amp;quot;false&amp;quot; /&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Creative-crowds-cc.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Welcome to CC, a shared server currently maintained by Simon, Manetta and Doriane from Rotterdam and Brussels. &lt;br /&gt;
&lt;br /&gt;
With CC we explore how community gathers around specific experimental publishing tools, how hosted tools can be prototyped for activist collectivities, and how we can question and participate in a discourse around practices and tools.&lt;br /&gt;
&lt;br /&gt;
CC is currently hosting the following things:&lt;br /&gt;
&lt;br /&gt;
* [https://cc.practices.tools/octomode/ octomode] is CSS Printing&lt;br /&gt;
* [https://cc.practices.tools/etherdot/ etherdot] is stitching&lt;br /&gt;
* [[Wiki-to-print|wiki-to-print]]&lt;br /&gt;
* [https://cc.practices.tools/pad/ pads]&lt;br /&gt;
* [https://cc.practices.tools/fonts/ fonts]&lt;br /&gt;
* [https://cc.practices.tools/traces/ traces]&lt;br /&gt;
* [[Cobbled-paths|cobbled paths]] (not yet)&lt;br /&gt;
* this wiki&lt;br /&gt;
&lt;br /&gt;
If you want, you can sign the &#039;&#039;&#039;collective calendar&#039;&#039;&#039; (on the right) as a way to collect server presences together. Under the calendar you can find the &#039;&#039;&#039;CC-collective conditions for use&#039;&#039;&#039; we formulated, which is something we consider to be in flux.&lt;br /&gt;
&lt;br /&gt;
You can write us at: [mailto:cc@practices.tools cc@practices.tools]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns:2;column-gap:5mm;column-fill:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==A recent change==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=180 heights=250&amp;gt;&lt;br /&gt;
File:So-you-decided-to-make-a-zine-in-octomode.pdf|Zine made by Simon during the Des*gn Week in Linz, November 2025&lt;br /&gt;
File:DBPrize 128 TPG HeatherShuker.jpg|The CC server on display as part of the exhibition [https://thephotographersgallery.org.uk/whats-on/connection-established-digital-folklore-and-web-craft Connection Established: Digital Folklore and Web Craft] curated by Kendal Beynon and Sam Mercer &amp;lt;3 (x1 y6)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;display:block;border:0;background:linear-gradient(yellow,white);padding:0.5em;margin:1em 0 0.5em;border-radius:25px 0 0 0;&amp;quot;&amp;gt;CC currently hosts...&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==This wiki==&lt;br /&gt;
&lt;br /&gt;
We use this wiki as a working environment to produce publications with, organise the collective CC server maintenance work, and document things we do.&lt;br /&gt;
&lt;br /&gt;
==octomode==&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/octomode/&amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;more info&#039;&#039;&#039;: [[Octomode|octomode]] &amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;git repo&#039;&#039;&#039;: https://git.vvvvvvaria.org/CC/octomode&lt;br /&gt;
&lt;br /&gt;
Octomode is a collective editing space for PDF making, using Etherpad, Paged.js and Flask.&lt;br /&gt;
&lt;br /&gt;
The version installed on CC is open for use but it is password protected, reach out to us to ask for it, we share the password in an open ended network of trusted-peers and trusted-peers-of-peers.&lt;br /&gt;
&lt;br /&gt;
[[File:Rwx-octo5.svg|200px]]&lt;br /&gt;
[[File:Read-write-execute-octo-mode.png|200px]]&lt;br /&gt;
[[File:Octo-hands.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==etherdot==&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/etherdot/&amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;git repo&#039;&#039;&#039;: https://gitlab.constantvzw.org/Doriane/etherdot &lt;br /&gt;
&lt;br /&gt;
Etherdot is an anarchist thoughts stitching tool. It allows to collectively write DOT language on etherpads to generate graph with graphviz (actually it uses the python module of graphviz).&lt;br /&gt;
&lt;br /&gt;
==wiki-to-print==&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/wiki/Pdf:Unfolding&amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;more info&#039;&#039;&#039;: [[wiki-to-print]] &amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;git repo&#039;&#039;&#039;: https://git.vvvvvvaria.org/CC/wiki-to-print&lt;br /&gt;
&lt;br /&gt;
Wiki-to-print is a collective publishing environment that hooks into wiki practices and cultures. It uses MediaWiki software, CCS Print rules and Paged.js, to render a preview of the PDF in the browser.&lt;br /&gt;
&lt;br /&gt;
The version installed on CC is internally used. But if you&#039;re curious to try it, let us know.&lt;br /&gt;
&lt;br /&gt;
[[File:Wiki-to-print.gv.svg|200px]]&lt;br /&gt;
&lt;br /&gt;
==pads==&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/pads/&lt;br /&gt;
&lt;br /&gt;
Pads on CC are open for use for things related to CC in some way.&lt;br /&gt;
&lt;br /&gt;
==fonts==&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/fonts/&amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;more info&#039;&#039;&#039;: [[Fonts]]&lt;br /&gt;
&lt;br /&gt;
We are hosting a very adhocly selected list of fonts to use them in web-to-print projects.&lt;br /&gt;
&lt;br /&gt;
==traces==&lt;br /&gt;
&lt;br /&gt;
→  &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/traces/&lt;br /&gt;
&lt;br /&gt;
Here we collect traces of our practices crossing with CC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Main_Page&amp;diff=5596</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Main_Page&amp;diff=5596"/>
		<updated>2026-03-28T13:30:00Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* A recent change */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;margin-left:1em;&amp;quot;&amp;gt;&amp;lt;eplite id=&amp;quot;cc-conditions&amp;quot; show-chat=&amp;quot;false&amp;quot; /&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Creative-crowds-cc.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Welcome to CC, a shared server currently maintained by Simon, Manetta and Doriane from Rotterdam/Brussels. &lt;br /&gt;
&lt;br /&gt;
With CC we explore how community gathers around specific experimental publishing tools, how hosted tools can be prototyped for activist collectivities, and how we can question and participate in a discourse around practices and tools.&lt;br /&gt;
&lt;br /&gt;
CC is currently hosting the following things:&lt;br /&gt;
&lt;br /&gt;
* [https://cc.practices.tools/octomode/ octomode] is CSS Printing&lt;br /&gt;
* [https://cc.practices.tools/etherdot/ etherdot] is stitching&lt;br /&gt;
* [[Wiki-to-print|wiki-to-print]]&lt;br /&gt;
* [https://cc.practices.tools/pad/ pads]&lt;br /&gt;
* [https://cc.practices.tools/fonts/ fonts]&lt;br /&gt;
* [https://cc.practices.tools/traces/ traces]&lt;br /&gt;
* [[Cobbled-paths|cobbled paths]] (not yet)&lt;br /&gt;
* this wiki&lt;br /&gt;
&lt;br /&gt;
If you want, you can sign the &#039;&#039;&#039;collective calendar&#039;&#039;&#039; (on the right) as a way to collect server presences together. Under the calendar you can find the &#039;&#039;&#039;CC-collective conditions for use&#039;&#039;&#039; we formulated, which is something we consider to be in flux.&lt;br /&gt;
&lt;br /&gt;
You can write us at: [mailto:cc@practices.tools cc@practices.tools]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns:2;column-gap:5mm;column-fill:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==A recent change==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=180 heights=250&amp;gt;&lt;br /&gt;
File:So-you-decided-to-make-a-zine-in-octomode.pdf|Zine made by Simon during the Des*gn Week in Linz, November 2025&lt;br /&gt;
File:DBPrize 128 TPG HeatherShuker.jpg|The CC server on display as part of the exhibition [https://thephotographersgallery.org.uk/whats-on/connection-established-digital-folklore-and-web-craft Connection Established: Digital Folklore and Web Craft] curated by Kendal Beynon and Sam Mercer &amp;lt;3 (x1 y6)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;display:block;border:0;background:linear-gradient(yellow,white);padding:0.5em;margin:1em 0 0.5em;border-radius:25px 0 0 0;&amp;quot;&amp;gt;CC currently hosts...&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==This wiki==&lt;br /&gt;
&lt;br /&gt;
We use this wiki as a working environment to produce publications with, organise the collective CC server maintenance work, and document things we do.&lt;br /&gt;
&lt;br /&gt;
==octomode==&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/octomode/&amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;more info&#039;&#039;&#039;: [[Octomode|octomode]] &amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;git repo&#039;&#039;&#039;: https://git.vvvvvvaria.org/CC/octomode&lt;br /&gt;
&lt;br /&gt;
Octomode is a collective editing space for PDF making, using Etherpad, Paged.js and Flask.&lt;br /&gt;
&lt;br /&gt;
The version installed on CC is open for use but it is password protected, reach out to us to ask for it, we share the password in an open ended network of trusted-peers and trusted-peers-of-peers.&lt;br /&gt;
&lt;br /&gt;
[[File:Rwx-octo5.svg|200px]]&lt;br /&gt;
[[File:Read-write-execute-octo-mode.png|200px]]&lt;br /&gt;
[[File:Octo-hands.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==etherdot==&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/etherdot/&amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;git repo&#039;&#039;&#039;: https://gitlab.constantvzw.org/Doriane/etherdot &lt;br /&gt;
&lt;br /&gt;
Etherdot is an anarchist thoughts stitching tool. It allows to collectively write DOT language on etherpads to generate graph with graphviz (actually it uses the python module of graphviz).&lt;br /&gt;
&lt;br /&gt;
==wiki-to-print==&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/wiki/Pdf:Unfolding&amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;more info&#039;&#039;&#039;: [[wiki-to-print]] &amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;git repo&#039;&#039;&#039;: https://git.vvvvvvaria.org/CC/wiki-to-print&lt;br /&gt;
&lt;br /&gt;
Wiki-to-print is a collective publishing environment that hooks into wiki practices and cultures. It uses MediaWiki software, CCS Print rules and Paged.js, to render a preview of the PDF in the browser.&lt;br /&gt;
&lt;br /&gt;
The version installed on CC is internally used. But if you&#039;re curious to try it, let us know.&lt;br /&gt;
&lt;br /&gt;
[[File:Wiki-to-print.gv.svg|200px]]&lt;br /&gt;
&lt;br /&gt;
==pads==&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/pads/&lt;br /&gt;
&lt;br /&gt;
Pads on CC are open for use for things related to CC in some way.&lt;br /&gt;
&lt;br /&gt;
==fonts==&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/fonts/&amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;more info&#039;&#039;&#039;: [[Fonts]]&lt;br /&gt;
&lt;br /&gt;
We are hosting a very adhocly selected list of fonts to use them in web-to-print projects.&lt;br /&gt;
&lt;br /&gt;
==traces==&lt;br /&gt;
&lt;br /&gt;
→  &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/traces/&lt;br /&gt;
&lt;br /&gt;
Here we collect traces of our practices crossing with CC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Main_Page&amp;diff=5595</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Main_Page&amp;diff=5595"/>
		<updated>2026-03-28T13:29:48Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* A recent change */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;margin-left:1em;&amp;quot;&amp;gt;&amp;lt;eplite id=&amp;quot;cc-conditions&amp;quot; show-chat=&amp;quot;false&amp;quot; /&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Creative-crowds-cc.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Welcome to CC, a shared server currently maintained by Simon, Manetta and Doriane from Rotterdam/Brussels. &lt;br /&gt;
&lt;br /&gt;
With CC we explore how community gathers around specific experimental publishing tools, how hosted tools can be prototyped for activist collectivities, and how we can question and participate in a discourse around practices and tools.&lt;br /&gt;
&lt;br /&gt;
CC is currently hosting the following things:&lt;br /&gt;
&lt;br /&gt;
* [https://cc.practices.tools/octomode/ octomode] is CSS Printing&lt;br /&gt;
* [https://cc.practices.tools/etherdot/ etherdot] is stitching&lt;br /&gt;
* [[Wiki-to-print|wiki-to-print]]&lt;br /&gt;
* [https://cc.practices.tools/pad/ pads]&lt;br /&gt;
* [https://cc.practices.tools/fonts/ fonts]&lt;br /&gt;
* [https://cc.practices.tools/traces/ traces]&lt;br /&gt;
* [[Cobbled-paths|cobbled paths]] (not yet)&lt;br /&gt;
* this wiki&lt;br /&gt;
&lt;br /&gt;
If you want, you can sign the &#039;&#039;&#039;collective calendar&#039;&#039;&#039; (on the right) as a way to collect server presences together. Under the calendar you can find the &#039;&#039;&#039;CC-collective conditions for use&#039;&#039;&#039; we formulated, which is something we consider to be in flux.&lt;br /&gt;
&lt;br /&gt;
You can write us at: [mailto:cc@practices.tools cc@practices.tools]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;columns:2;column-gap:5mm;column-fill:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==A recent change==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=180 heights=300&amp;gt;&lt;br /&gt;
File:So-you-decided-to-make-a-zine-in-octomode.pdf|Zine made by Simon during the Des*gn Week in Linz, November 2025&lt;br /&gt;
File:DBPrize 128 TPG HeatherShuker.jpg|The CC server on display as part of the exhibition [https://thephotographersgallery.org.uk/whats-on/connection-established-digital-folklore-and-web-craft Connection Established: Digital Folklore and Web Craft] curated by Kendal Beynon and Sam Mercer &amp;lt;3 (x1 y6)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 style=&amp;quot;display:block;border:0;background:linear-gradient(yellow,white);padding:0.5em;margin:1em 0 0.5em;border-radius:25px 0 0 0;&amp;quot;&amp;gt;CC currently hosts...&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==This wiki==&lt;br /&gt;
&lt;br /&gt;
We use this wiki as a working environment to produce publications with, organise the collective CC server maintenance work, and document things we do.&lt;br /&gt;
&lt;br /&gt;
==octomode==&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/octomode/&amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;more info&#039;&#039;&#039;: [[Octomode|octomode]] &amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;git repo&#039;&#039;&#039;: https://git.vvvvvvaria.org/CC/octomode&lt;br /&gt;
&lt;br /&gt;
Octomode is a collective editing space for PDF making, using Etherpad, Paged.js and Flask.&lt;br /&gt;
&lt;br /&gt;
The version installed on CC is open for use but it is password protected, reach out to us to ask for it, we share the password in an open ended network of trusted-peers and trusted-peers-of-peers.&lt;br /&gt;
&lt;br /&gt;
[[File:Rwx-octo5.svg|200px]]&lt;br /&gt;
[[File:Read-write-execute-octo-mode.png|200px]]&lt;br /&gt;
[[File:Octo-hands.png|200px]]&lt;br /&gt;
&lt;br /&gt;
==etherdot==&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/etherdot/&amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;git repo&#039;&#039;&#039;: https://gitlab.constantvzw.org/Doriane/etherdot &lt;br /&gt;
&lt;br /&gt;
Etherdot is an anarchist thoughts stitching tool. It allows to collectively write DOT language on etherpads to generate graph with graphviz (actually it uses the python module of graphviz).&lt;br /&gt;
&lt;br /&gt;
==wiki-to-print==&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/wiki/Pdf:Unfolding&amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;more info&#039;&#039;&#039;: [[wiki-to-print]] &amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;git repo&#039;&#039;&#039;: https://git.vvvvvvaria.org/CC/wiki-to-print&lt;br /&gt;
&lt;br /&gt;
Wiki-to-print is a collective publishing environment that hooks into wiki practices and cultures. It uses MediaWiki software, CCS Print rules and Paged.js, to render a preview of the PDF in the browser.&lt;br /&gt;
&lt;br /&gt;
The version installed on CC is internally used. But if you&#039;re curious to try it, let us know.&lt;br /&gt;
&lt;br /&gt;
[[File:Wiki-to-print.gv.svg|200px]]&lt;br /&gt;
&lt;br /&gt;
==pads==&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/pads/&lt;br /&gt;
&lt;br /&gt;
Pads on CC are open for use for things related to CC in some way.&lt;br /&gt;
&lt;br /&gt;
==fonts==&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/fonts/&amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;more info&#039;&#039;&#039;: [[Fonts]]&lt;br /&gt;
&lt;br /&gt;
We are hosting a very adhocly selected list of fonts to use them in web-to-print projects.&lt;br /&gt;
&lt;br /&gt;
==traces==&lt;br /&gt;
&lt;br /&gt;
→  &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/traces/&lt;br /&gt;
&lt;br /&gt;
Here we collect traces of our practices crossing with CC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Octomode&amp;diff=5594</id>
		<title>Octomode</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Octomode&amp;diff=5594"/>
		<updated>2026-03-25T21:47:42Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* Made with Octomode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Rwx-octo5.svg|200px]]&lt;br /&gt;
[[File:Read-write-execute-octo-mode.png|200px]]&lt;br /&gt;
[[File:Octo-hands.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Octomode is a collective editing space for PDF making, using Etherpad, Paged.js and Flask.&lt;br /&gt;
&lt;br /&gt;
Inspired by the multi-centered, tentacular cognition capabilities of the octopus, we imagined a space in which the artificial boundaries of writing and design can be crossed; where writing, editing and designing can be done in one environment simultaneously, allowing the format to influence the matter and vice-versa.&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/octomode/&amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;git repo&#039;&#039;&#039;: https://git.vvvvvvaria.org/CC/octomode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Ongoing circulations==&lt;br /&gt;
&lt;br /&gt;
Octomode is strongly relying on (Ether)pad and shared habits of collective note taking in such collaborative environments. In the end, octomode is just a combination of a few free software tools, and we like to think of octomode as a boilerplate, that can be re-configured and re-transformed into other possible environments. It strongly learned from the inspiring work of the following projects: &lt;br /&gt;
&lt;br /&gt;
* [http://osp.kitchen/tools/ethertoff/ Ethertoff] by OSP&lt;br /&gt;
* [https://networksofonesown.constantvzw.org/ Etherbox] by Constant&lt;br /&gt;
* [https://gitlab.constantvzw.org/aa/etherdump etherdump] by Michael Murtaugh&lt;br /&gt;
* [https://relearn.be/2015/ the local network + etherpad setup] during Relearn 2015&lt;br /&gt;
* [https://calibre.constantvzw.org/book/34 The Techno-Galactic Guide to Software Observation] by Constant&lt;br /&gt;
&lt;br /&gt;
Octomode is published under [https://git.vvvvvvaria.org/varia/octomode/src/branch/master/LICENSE.txt CC4r]: please feel free to use, change, transform and republish into many directions, within the limits of the conditions formulated by the COLLECTIVE CONDITIONS FOR RE-USE (CC4r) license.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! octomode instance !! maintained by !! version !! features !! code !! context&lt;br /&gt;
|-&lt;br /&gt;
| https://cc.practices.tools/octomode/ || [https://cc.practices.tools Creative Crowds (CC)] || CC || main features || https://git.vvvvvvaria.org/CC/octomode || The CC octomode instance, used by us and a network of peers around us, including OSP, XPUB students, Pibliotheque, Varia and others; used for the making of zines, publications which are often personal projects, workshop outputs or sometimes also commissioned work. &lt;br /&gt;
|-&lt;br /&gt;
| https://circulations.constantvzw.org/octomode/ || [https://constantvzw.org/ Constant] || technodisobedience || main features &amp;lt;br&amp;gt;+ RISO color seperation, epub export, markdown import || https://git.vvvvvvaria.org/CC/octomode/src/branch/technodisobedience/ || Constant&#039;s octomode instance as part of their SPLINT 5-year research trajectory and SPLINTER server, used for the making of zines, EPUBs and annual publications that document all their activities of that year, such as [https://calibre.constantvzw.org/book/207 Techno-disobedience] published in December 2023 and [https://constantvzw.org/site/Zine-launch-Otherwordly-Communications.html Otherworldly Communications zine] published in March 2026.&lt;br /&gt;
|-&lt;br /&gt;
| https://octomode.hackersanddesigners.nl || [https://hackersanddesigners.nl/ H&amp;amp;D] || CC || main features || https://github.com/hackersanddesigners/octomode (fork, no additional changes) || The octomode instance of Hackers &amp;amp; Designers, used to make publications such as [https://hackersanddesigners.nl/hd-bulletin-6.html HD Bulletin 6] + [https://hackersanddesigners.nl/hd-bulletin-7.html HD Bulletin 7]. Octomode was also used during a workshop at one of the HD summercamps, but I can&#039;t find it back sadly. &lt;br /&gt;
|-&lt;br /&gt;
| https://octomode.vvvvvvaria.org || [https://varia.zone varia] || CC || main features || https://git.vvvvvvaria.org/varia/octomode || This was octomode&#039;s first URL! Currently it&#039;s pointing to the Varia octomode instance, used by Varia members to make the SomeTimes (edition [https://varia.zone/en/2022/sometimes-af-en-toe/ 1] [https://varia.zone/en/2024/sometimes5/ 5] [https://varia.zone/en/2025/some-times-6/ 6]), write funding applications and reports, make zines and other things. &lt;br /&gt;
|-&lt;br /&gt;
| https://hub.vvvvvvaria.org/rosa/octomode/ || [https://varia.zone/ATNOFS/ ATNOFS] || CC || main features || https://git.vvvvvvaria.org/varia/octomode || Octomode is part of Rosa&#039;s &#039;&#039;resonance board&#039;&#039;, the landing page of this traveling feminist server: &#039;&#039;The resonance board is a shared space which gathers and folds pads, messages and files hosted on rosa. On the resonance board you can start a new pad, use octomode, use the shared ile system, traverse the list of pads already created, read messages on the folding board, and browse the files that have been uploaded to the chapters folder.&#039;&#039; ([https://zoiahorn.anarchaserver.org/wp-content/uploads/2023/03/ATNOFS-screen.pdf#page=9 link])&lt;br /&gt;
|-&lt;br /&gt;
| https://lepa.hackersanddesigners.nl/ || [https://hackersanddesigners.nl/ H&amp;amp;D] || Learning Palestine || main features &amp;lt;br&amp;gt;+ Markdown cheatsheet, [https://www.npmjs.com/package/ep_markdown_toc Etherpad table of content plugin] ([https://etherpad.hackersanddesigners.nl/p/ep_plugins documented here]), impositioned PDF export || || A custom Octomode setup for the group [https://learningpalestine.net/ Learning Palestine], to support their (re)publishing efforts of texts &#039;&#039;&amp;quot;to disseminate knowledge on the history of the ongoing struggle for justice, liberation, and freedom of Palestine and the Palestinian People&amp;quot;&#039;&#039;, outside of the hands of corporate platforms. At first they explored ways to do so without corporate social media platforms, but then also wanted to step away from corporate design tools such as Adobe InDesign. The project was presented during a [https://hackersanddesigners.nl/bulletin-7-launch-at-fort-van-sjakoo.html HD Bulletin launch] at [https://sjakoo.nl/ Het Fort van Sjakoo] in June 2025. &lt;br /&gt;
|-&lt;br /&gt;
| https://zine.luddite.tools/ || [https://luddite.tools/ The Luddite Academy/David Benque]  || CC || main features &amp;lt;br&amp;gt;+ [https://codeberg.org/luddite-academy/octomode/commit/7eebbd1098f44de743a97394468b49672bf368d7 patch for not working Etherpad URLs] || https://codeberg.org/luddite-academy/octomode || &#039;&#039;The project was [is] titled &amp;quot;The Luddite Academy&amp;quot; and proposed to bring the current resurgence of luddite theory and praxis to bear on the university&#039;s digital arts and humanities departments.&#039;&#039; ([https://post.lurk.org/@diagram_studies/115768866079004997 link])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==How to use octomode?==&lt;br /&gt;
&lt;br /&gt;
If you want to work collectively on a PDF, you can make a new octomode environment here: https://cc.practices.tools/octomode/. &lt;br /&gt;
&lt;br /&gt;
You can write any name of in the input field, this will be the name of the new octomode environment and pads that are used. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: When working with multiple people on one PDF it is recommended to use the same browser. CSS rules are rendered slightly differently on different browsers.&lt;br /&gt;
&lt;br /&gt;
Working in octomode includes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pad&amp;lt;/code&amp;gt;: all materials for the PDF are collected here. (written in Markdown)&lt;br /&gt;
* &amp;lt;code&amp;gt;stylesheet&amp;lt;/code&amp;gt;: all CSS rules for the PDF are collected here (written in CSS)&lt;br /&gt;
* &amp;lt;code&amp;gt;html&amp;lt;/code&amp;gt;: render the lay out as a HTML (rendered with PyPandoc)&lt;br /&gt;
* &amp;lt;code&amp;gt;pdf&amp;lt;/code&amp;gt;: render the lay out as a PDF (rendered with Paged.js)&lt;br /&gt;
&lt;br /&gt;
When creating a new environment, a few things happen:&lt;br /&gt;
&lt;br /&gt;
* a pad is created for collecting the materials of your PDF. The name of the octomode environment will become the name of this pad. For example: &amp;lt;code&amp;gt;https://cc.practices.tools/pad/p/NAME.md&amp;lt;/code&amp;gt;.&lt;br /&gt;
* another pad is created for writing the stylesheet of your PDF. The name of the octomode environment will become the name of this pad, followed by .css. For example: &amp;lt;code&amp;gt;https://cc.practices.tools/pad/p/NAME.css&amp;lt;/code&amp;gt;&lt;br /&gt;
* If both pads were not created yet, a template is added to the pad. The main pad will get a Markdown template and the stylesheet pad a CSS template.&lt;br /&gt;
&lt;br /&gt;
In case a pad was already made, you can copy the templates below and paste them at the top of your pads.&lt;br /&gt;
&lt;br /&gt;
The PDFs are rendered using [https://pagedjs.org/ Paged.js], a free and open source JavaScript library &amp;quot;that paginates content in the browser to create PDF output from any HTML content. This means you can design works for print (eg. books) using HTML and CSS!&amp;quot; The project used to be maintained by the [https://coko.foundation/ Coko Foundation] but is currently on its own feet! Paged.js adds not (yet) implemented CSS rules to the ones that browsers implemented already, expanding the possibilities to make lay outs for specific sections, place content in the margins of pages, and render indexes (amongst other things). The Paged.js documentation is very helpful and can be found here: https://pagedjs.org/documentation/.&lt;br /&gt;
&lt;br /&gt;
==How to install octomode?==&lt;br /&gt;
&lt;br /&gt;
[[Installing octomode]]&lt;br /&gt;
&lt;br /&gt;
==CSS Print==&lt;br /&gt;
&lt;br /&gt;
Some CSS Print examples can be found at: [[CSS Print]]&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
At the top of the pad for content is a metadata block:&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 title: octomode&lt;br /&gt;
 language: en&lt;br /&gt;
 ---&lt;br /&gt;
&lt;br /&gt;
When things go wrong in situations when many people are working together, it is often that someone has typed something at the start of the pad before the metadata block, or there is some syntax error in the metadata block. For example, using two colons in the title field will make it break:&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 title: My cool title: and subtitle&lt;br /&gt;
 language: en&lt;br /&gt;
 --- &lt;br /&gt;
&lt;br /&gt;
The title is only there to make the name of the PDF file when it is exported, and the language can be set to something other than English. But this metadata must be there, and there must be three hyphens (---) opening and closing the metadata block.&lt;br /&gt;
&lt;br /&gt;
== Error log ==&lt;br /&gt;
&lt;br /&gt;
For some adventures in Octomode, see the [[Error log]].&lt;br /&gt;
&lt;br /&gt;
==Made with Octomode==&lt;br /&gt;
&lt;br /&gt;
A partial collection of zines, publications, sticker sets and web posters made with octomode. &lt;br /&gt;
&lt;br /&gt;
The list is not complete, but that&#039;s also not the point. It is here to give an idea what kind of things are made. &lt;br /&gt;
&lt;br /&gt;
And it&#039;s also here as an archive of the practices that have grown around octomode. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=250 heights=300&amp;gt;&lt;br /&gt;
File:SomeTimes number-1.pdf|First edition of the &#039;&#039;[[SomeTimes]]&#039;&#039; by Varia (April, 2022) &lt;br /&gt;
File:Af-en-toe nummer-1.pdf|Eerste editie van de &#039;&#039;[[SomeTimes|Af en Toe]]&#039;&#039; by Varia (april, 2022)&lt;br /&gt;
File:SomeTimes number-3.pdf|Third edition of the &#039;&#039;[[SomeTimes]]&#039;&#039; made for the 12th of October Counter-Cloud Action day, by Varia (October, 2023)&lt;br /&gt;
File:Bulgarian-Antifascist-Bulletin 1 2023.pdf|&#039;&#039;[[Bulgarian antifascist bulletin]]&#039;&#039; (2023)&lt;br /&gt;
File:ComputationalPublishingandWriting 2023.pdf|&#039;&#039;[[the title is|the title is: (and then a series of checkboxes) (insert here your suggestions :} ) +1+1+1+1+1]]&#039;&#039;, outcome of a workshop hosted by Winnie Soon and Geoff Cox (April, 2023)&lt;br /&gt;
File:Hosting-with-zine.pdf|&#039;&#039;Hosting with]]&#039;&#039; self-published by Varia, made by Angeliki, Artemis and Manetta (July, 2023)&lt;br /&gt;
File:ATNOFS-screen.pdf|&#039;&#039;[[A Traversal Network of Feminist Servers]]&#039;&#039; or ATNOFS in short, published by Varia, Hypha, Feminist Hack Meetings, Constant, esc, LURK (March 2023)&lt;br /&gt;
File:Free palestine reader.png|Front page of the [[Free palestine reader]] &lt;br /&gt;
File:Anarchokrant 4.png|Front page of the fourth edition of the [[Anarchokrant]] &lt;br /&gt;
File:Constant-techno-disobedience-2023.pdf|[[Constant SPLINT zines]] issue #1: &#039;&#039;Techno-disobedience!&#039;&#039; made by Martino Morandi, Alix Turcq, Manetta Berends (December 2023)&lt;br /&gt;
File:Social-in-the-media-bw.pdf|&#039;&#039;[[Social in the Media]]&#039;&#039;, zine made by Varia, June 2024&lt;br /&gt;
File:Bulletin-6-0.jpg|&#039;&#039;[[HD Bulletin]]&#039;&#039; 6 made by Hackers &amp;amp; Designers, February 2025&lt;br /&gt;
File:so-you-decided-to-make-a-zine.jpg|&#039;&#039;[[so, you decided to make a zine using octomode]]&#039;&#039;, a zine introducing how to work with octomode, made by Simon Browne during his residency in Ireland, June 2025&lt;br /&gt;
File:Scan-cover7.jpg|&#039;&#039;[[HD Bulletin]]&#039;&#039; 7 made by Hackers &amp;amp; Designers, launched June 2025&lt;br /&gt;
File:Stickers-XPUB-Charlie.png|Sticker sheet made by Charlie during &#039;&#039;[[Special Issue 26: Declarations]]&#039;&#039;, a thematic trimester project at [https://xpub.nl XPUB] (spring 2025)&lt;br /&gt;
File:XPUB-SI26-Declarations.png|Declarations web poster made collectively in octomode by the XPUB students + Doriane during &#039;&#039;[[Special Issue 26: Declarations]]&#039;&#039; (spring 2025)&lt;br /&gt;
File:So-you-decided-to-make-a-zine-in-octomode.pdf|&#039;&#039;[[so, you decided to make a zine using octomode|so, you decided to make a zine in octomode]]&#039;&#039; second version! Made by Simon during the Des*gn Week in Linz (November, 2025)&lt;br /&gt;
File:Flyerconstanta2-82dd7.jpg|&#039;&#039;Otherworldly Communications&#039;&#039; is the 3rd annual publication of the [[Constant SPLINT zines]], designed by Sarah Magnan, published in March 2026&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Versions of octomode==&lt;br /&gt;
&lt;br /&gt;
===technodisobedience===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;2023&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2025-06-17 12-44-37.png|left|thumb|new buttons!]]&lt;br /&gt;
&lt;br /&gt;
[[File:Octomode-technodisobedience-4.png|left|thumb|the publication in CK mode]]&lt;br /&gt;
&lt;br /&gt;
[[File:Octomode-technodisobedience-5.png|left|thumb|the same page in MYK mode]]&lt;br /&gt;
&lt;br /&gt;
The art organisation Constant in BXL makes a publication to document their activities of that year and in 2023 they worked around the theme of technodisobedience: https://circulations.constantvzw.org/pub/constant-techno-disobedience-2023.pdf&lt;br /&gt;
&lt;br /&gt;
As part of the publication making and thinking, i (Manetta) was invited to work with Martino on a publishing workflow and printed outcome. We worked on some tools that we in the end awkwardly (but with joy) called &#039;&#039;AGGREGARIOUSLY SNOWPLOWING devices&#039;&#039;: a houtje-touwtje/cobbled-together workflow to publish snippets from pads (using &#039;&#039;snowpoles&#039;&#039;) continuously throughout the year (using an &#039;&#039;aggregator&#039;&#039;). We [https://circulations.constantvzw.org/pub/constant-techno-disobedience-2023.pdf#page=37 wrote about in the publication] too.&lt;br /&gt;
&lt;br /&gt;
In the end, this annual publication was produced with the whole Constant team joined by Alix Turcq and myself, using a customized version of octomode installed on their server. The publication was RISO printed at Chez Rosi (a sweet printing place in BXL) which was a reason to add a color separation feature to octomode (!). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
The publication you are holding is instead the result of our step into octomode, a system that we trusted would allow us to have a publication for this year balancing collective workflows and experimental additions, but with a much more predictable timeline. In the case of this publication, we developed a custom version of octomode, that allows us to output different PDFs with color separation in view of our riso-printing at Chez Rosi in Brussel. To achieve the separation of colors, we made use of Imagemagick and a bunch of hacks in our css styles to make sure to generate both a riso simulation of the two color printing technique for the web version and the correct files to send to the risograph printer.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code is stored as a separate branch called [https://git.vvvvvvaria.org/CC/octomode/src/branch/technodisobedience/ &amp;lt;code&amp;gt;technodisobedience&amp;lt;/code&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===grilletti===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;2025&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Grilletti-epub-pxlhNQ0zT5etS075qwdjsQ.jpg|thumb|left|new octomode button: EPUB !!!]]&lt;br /&gt;
&lt;br /&gt;
[[File:Grilletti-epub-2.png|thumb|left|second step in the EPUB generation feature]]&lt;br /&gt;
&lt;br /&gt;
[[File:Grilletti-paste.png|thumb|left|another new octomode button: PASTE]]&lt;br /&gt;
&lt;br /&gt;
During an italian hackmeeting the group C.I.R.C.E. laid out a book with octomode and did a short presentation on the process, &amp;quot;very beta&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
A new button was added: EPUB (!), to generate an epub file directly from the octomode environment. When you click the button, it brings you to another page, where you can select a cover image before you generate the EPUB.&lt;br /&gt;
&lt;br /&gt;
A second button was added too: PASTE, which seems to be a way to import markdown files from either your local computer, or stored online somewhere. Hmm! &lt;br /&gt;
&lt;br /&gt;
The code will be pushed to the [https://git.vvvvvvaria.org/CC/octomode/src/branch/technodisobedience/ &amp;lt;code&amp;gt;technodisobedience&amp;lt;/code&amp;gt;] branch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Learning Palestine===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;2025-2026&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hackersanddesigners.nl/ Hackers &amp;amp; Designers] are working on a custom Octomode setup for the group [https://learningpalestine.net/ Learning Palestine], to support their (re)publishing efforts of texts &amp;quot;to disseminate knowledge on the history of the ongoing struggle for justice, liberation, and freedom of Palestine and the Palestinian People&amp;quot;, outside of the hands of corporate platforms. At first they explored ways to do so without corporate social media platforms, but then also wanted to step away from corporate design tools such as Adobe InDesign. &lt;br /&gt;
&lt;br /&gt;
They started to collaborate with Hackers &amp;amp; Designers to see what role Octomode can play in this great initiative, and for this H&amp;amp;D is working on some changes and new features to how etherpads work within Octomode, which they published as a plugin here: https://www.npmjs.com/package/ep_markdown_toc and documented here: https://etherpad.hackersanddesigners.nl/p/ep_plugins. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Constant_SPLINT_zines&amp;diff=5593</id>
		<title>Constant SPLINT zines</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Constant_SPLINT_zines&amp;diff=5593"/>
		<updated>2026-03-25T21:45:06Z</updated>

		<summary type="html">&lt;p&gt;Manetta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Techno-disobedience==&lt;br /&gt;
&lt;br /&gt;
[[File:Constant-techno-disobedience-2023.pdf|600px]]&lt;br /&gt;
&lt;br /&gt;
The first annual Constant zine, made in 2023 by the Constant team &amp;amp; Manetta Berends &amp;amp; Alix Turcq, made in a customized version of octomode: the technodisobedience branch.&lt;br /&gt;
&lt;br /&gt;
https://constantvzw.org/sponge/s/?u=https://calibre.constantvzw.org/book/207&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;quot;In 2023 Constant started a new series of yearly publications connected to the new artistic programme covering the programme 2023-2027.&lt;br /&gt;
&lt;br /&gt;
This publication loosely narrates the experiences and artistic practices we gathered in 2023 around the theme of Techno-disobedience.&amp;quot;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;quot;The writing of the publication was done on several computers connected to the same etherpad, and then styled through templates and stylesheets, and output as html, pdf, audio recordings, crocheted pieces, balaclavas, worms, spirals, amazing collective food moments and many constructed doodles over drinks. We loosely divided the work of writing, editing, styling between the people around the table: the Constant team, joined by Manetta Berends and Alix Turcq.&amp;quot;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Otherworldly Communications==&lt;br /&gt;
&lt;br /&gt;
[[File:Flyerconstanta2-82dd7.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
https://constantvzw.org/site/Zine-launch-Otherwordly-Communications.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
In 2025 Constant’s research focused on how different forms of life co/exist and circulate in the midst of damage and toxicity and how we could critically engage with different conceptions of the ’other’ (as in: other than human, otherworldly and otherings). This publication tells a subjective and multi-voiced story about discoveries and encounters that happened during the unfolding of our activities.&lt;br /&gt;
&lt;br /&gt;
It was compiled during a three day sprint by Constant’s team, guided by graphic designer Sarah Magnan*, and printed at chez rosi* in Brussels using the software Octomode by Creative Crowds.&lt;br /&gt;
&lt;br /&gt;
It will soon be available in print format as well as in web format/pdf on Constant Calibre library.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Octomode]]&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
	<entry>
		<id>http://cc.practices.tools/wiki/index.php?title=Octomode&amp;diff=5592</id>
		<title>Octomode</title>
		<link rel="alternate" type="text/html" href="http://cc.practices.tools/wiki/index.php?title=Octomode&amp;diff=5592"/>
		<updated>2026-03-25T21:43:35Z</updated>

		<summary type="html">&lt;p&gt;Manetta: /* Made with Octomode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Rwx-octo5.svg|200px]]&lt;br /&gt;
[[File:Read-write-execute-octo-mode.png|200px]]&lt;br /&gt;
[[File:Octo-hands.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Octomode is a collective editing space for PDF making, using Etherpad, Paged.js and Flask.&lt;br /&gt;
&lt;br /&gt;
Inspired by the multi-centered, tentacular cognition capabilities of the octopus, we imagined a space in which the artificial boundaries of writing and design can be crossed; where writing, editing and designing can be done in one environment simultaneously, allowing the format to influence the matter and vice-versa.&lt;br /&gt;
&lt;br /&gt;
→ &#039;&#039;&#039;URL&#039;&#039;&#039;: https://cc.practices.tools/octomode/&amp;lt;br&amp;gt;&lt;br /&gt;
→ &#039;&#039;&#039;git repo&#039;&#039;&#039;: https://git.vvvvvvaria.org/CC/octomode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Ongoing circulations==&lt;br /&gt;
&lt;br /&gt;
Octomode is strongly relying on (Ether)pad and shared habits of collective note taking in such collaborative environments. In the end, octomode is just a combination of a few free software tools, and we like to think of octomode as a boilerplate, that can be re-configured and re-transformed into other possible environments. It strongly learned from the inspiring work of the following projects: &lt;br /&gt;
&lt;br /&gt;
* [http://osp.kitchen/tools/ethertoff/ Ethertoff] by OSP&lt;br /&gt;
* [https://networksofonesown.constantvzw.org/ Etherbox] by Constant&lt;br /&gt;
* [https://gitlab.constantvzw.org/aa/etherdump etherdump] by Michael Murtaugh&lt;br /&gt;
* [https://relearn.be/2015/ the local network + etherpad setup] during Relearn 2015&lt;br /&gt;
* [https://calibre.constantvzw.org/book/34 The Techno-Galactic Guide to Software Observation] by Constant&lt;br /&gt;
&lt;br /&gt;
Octomode is published under [https://git.vvvvvvaria.org/varia/octomode/src/branch/master/LICENSE.txt CC4r]: please feel free to use, change, transform and republish into many directions, within the limits of the conditions formulated by the COLLECTIVE CONDITIONS FOR RE-USE (CC4r) license.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! octomode instance !! maintained by !! version !! features !! code !! context&lt;br /&gt;
|-&lt;br /&gt;
| https://cc.practices.tools/octomode/ || [https://cc.practices.tools Creative Crowds (CC)] || CC || main features || https://git.vvvvvvaria.org/CC/octomode || The CC octomode instance, used by us and a network of peers around us, including OSP, XPUB students, Pibliotheque, Varia and others; used for the making of zines, publications which are often personal projects, workshop outputs or sometimes also commissioned work. &lt;br /&gt;
|-&lt;br /&gt;
| https://circulations.constantvzw.org/octomode/ || [https://constantvzw.org/ Constant] || technodisobedience || main features &amp;lt;br&amp;gt;+ RISO color seperation, epub export, markdown import || https://git.vvvvvvaria.org/CC/octomode/src/branch/technodisobedience/ || Constant&#039;s octomode instance as part of their SPLINT 5-year research trajectory and SPLINTER server, used for the making of zines, EPUBs and annual publications that document all their activities of that year, such as [https://calibre.constantvzw.org/book/207 Techno-disobedience] published in December 2023 and [https://constantvzw.org/site/Zine-launch-Otherwordly-Communications.html Otherworldly Communications zine] published in March 2026.&lt;br /&gt;
|-&lt;br /&gt;
| https://octomode.hackersanddesigners.nl || [https://hackersanddesigners.nl/ H&amp;amp;D] || CC || main features || https://github.com/hackersanddesigners/octomode (fork, no additional changes) || The octomode instance of Hackers &amp;amp; Designers, used to make publications such as [https://hackersanddesigners.nl/hd-bulletin-6.html HD Bulletin 6] + [https://hackersanddesigners.nl/hd-bulletin-7.html HD Bulletin 7]. Octomode was also used during a workshop at one of the HD summercamps, but I can&#039;t find it back sadly. &lt;br /&gt;
|-&lt;br /&gt;
| https://octomode.vvvvvvaria.org || [https://varia.zone varia] || CC || main features || https://git.vvvvvvaria.org/varia/octomode || This was octomode&#039;s first URL! Currently it&#039;s pointing to the Varia octomode instance, used by Varia members to make the SomeTimes (edition [https://varia.zone/en/2022/sometimes-af-en-toe/ 1] [https://varia.zone/en/2024/sometimes5/ 5] [https://varia.zone/en/2025/some-times-6/ 6]), write funding applications and reports, make zines and other things. &lt;br /&gt;
|-&lt;br /&gt;
| https://hub.vvvvvvaria.org/rosa/octomode/ || [https://varia.zone/ATNOFS/ ATNOFS] || CC || main features || https://git.vvvvvvaria.org/varia/octomode || Octomode is part of Rosa&#039;s &#039;&#039;resonance board&#039;&#039;, the landing page of this traveling feminist server: &#039;&#039;The resonance board is a shared space which gathers and folds pads, messages and files hosted on rosa. On the resonance board you can start a new pad, use octomode, use the shared ile system, traverse the list of pads already created, read messages on the folding board, and browse the files that have been uploaded to the chapters folder.&#039;&#039; ([https://zoiahorn.anarchaserver.org/wp-content/uploads/2023/03/ATNOFS-screen.pdf#page=9 link])&lt;br /&gt;
|-&lt;br /&gt;
| https://lepa.hackersanddesigners.nl/ || [https://hackersanddesigners.nl/ H&amp;amp;D] || Learning Palestine || main features &amp;lt;br&amp;gt;+ Markdown cheatsheet, [https://www.npmjs.com/package/ep_markdown_toc Etherpad table of content plugin] ([https://etherpad.hackersanddesigners.nl/p/ep_plugins documented here]), impositioned PDF export || || A custom Octomode setup for the group [https://learningpalestine.net/ Learning Palestine], to support their (re)publishing efforts of texts &#039;&#039;&amp;quot;to disseminate knowledge on the history of the ongoing struggle for justice, liberation, and freedom of Palestine and the Palestinian People&amp;quot;&#039;&#039;, outside of the hands of corporate platforms. At first they explored ways to do so without corporate social media platforms, but then also wanted to step away from corporate design tools such as Adobe InDesign. The project was presented during a [https://hackersanddesigners.nl/bulletin-7-launch-at-fort-van-sjakoo.html HD Bulletin launch] at [https://sjakoo.nl/ Het Fort van Sjakoo] in June 2025. &lt;br /&gt;
|-&lt;br /&gt;
| https://zine.luddite.tools/ || [https://luddite.tools/ The Luddite Academy/David Benque]  || CC || main features &amp;lt;br&amp;gt;+ [https://codeberg.org/luddite-academy/octomode/commit/7eebbd1098f44de743a97394468b49672bf368d7 patch for not working Etherpad URLs] || https://codeberg.org/luddite-academy/octomode || &#039;&#039;The project was [is] titled &amp;quot;The Luddite Academy&amp;quot; and proposed to bring the current resurgence of luddite theory and praxis to bear on the university&#039;s digital arts and humanities departments.&#039;&#039; ([https://post.lurk.org/@diagram_studies/115768866079004997 link])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==How to use octomode?==&lt;br /&gt;
&lt;br /&gt;
If you want to work collectively on a PDF, you can make a new octomode environment here: https://cc.practices.tools/octomode/. &lt;br /&gt;
&lt;br /&gt;
You can write any name of in the input field, this will be the name of the new octomode environment and pads that are used. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: When working with multiple people on one PDF it is recommended to use the same browser. CSS rules are rendered slightly differently on different browsers.&lt;br /&gt;
&lt;br /&gt;
Working in octomode includes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pad&amp;lt;/code&amp;gt;: all materials for the PDF are collected here. (written in Markdown)&lt;br /&gt;
* &amp;lt;code&amp;gt;stylesheet&amp;lt;/code&amp;gt;: all CSS rules for the PDF are collected here (written in CSS)&lt;br /&gt;
* &amp;lt;code&amp;gt;html&amp;lt;/code&amp;gt;: render the lay out as a HTML (rendered with PyPandoc)&lt;br /&gt;
* &amp;lt;code&amp;gt;pdf&amp;lt;/code&amp;gt;: render the lay out as a PDF (rendered with Paged.js)&lt;br /&gt;
&lt;br /&gt;
When creating a new environment, a few things happen:&lt;br /&gt;
&lt;br /&gt;
* a pad is created for collecting the materials of your PDF. The name of the octomode environment will become the name of this pad. For example: &amp;lt;code&amp;gt;https://cc.practices.tools/pad/p/NAME.md&amp;lt;/code&amp;gt;.&lt;br /&gt;
* another pad is created for writing the stylesheet of your PDF. The name of the octomode environment will become the name of this pad, followed by .css. For example: &amp;lt;code&amp;gt;https://cc.practices.tools/pad/p/NAME.css&amp;lt;/code&amp;gt;&lt;br /&gt;
* If both pads were not created yet, a template is added to the pad. The main pad will get a Markdown template and the stylesheet pad a CSS template.&lt;br /&gt;
&lt;br /&gt;
In case a pad was already made, you can copy the templates below and paste them at the top of your pads.&lt;br /&gt;
&lt;br /&gt;
The PDFs are rendered using [https://pagedjs.org/ Paged.js], a free and open source JavaScript library &amp;quot;that paginates content in the browser to create PDF output from any HTML content. This means you can design works for print (eg. books) using HTML and CSS!&amp;quot; The project used to be maintained by the [https://coko.foundation/ Coko Foundation] but is currently on its own feet! Paged.js adds not (yet) implemented CSS rules to the ones that browsers implemented already, expanding the possibilities to make lay outs for specific sections, place content in the margins of pages, and render indexes (amongst other things). The Paged.js documentation is very helpful and can be found here: https://pagedjs.org/documentation/.&lt;br /&gt;
&lt;br /&gt;
==How to install octomode?==&lt;br /&gt;
&lt;br /&gt;
[[Installing octomode]]&lt;br /&gt;
&lt;br /&gt;
==CSS Print==&lt;br /&gt;
&lt;br /&gt;
Some CSS Print examples can be found at: [[CSS Print]]&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
At the top of the pad for content is a metadata block:&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 title: octomode&lt;br /&gt;
 language: en&lt;br /&gt;
 ---&lt;br /&gt;
&lt;br /&gt;
When things go wrong in situations when many people are working together, it is often that someone has typed something at the start of the pad before the metadata block, or there is some syntax error in the metadata block. For example, using two colons in the title field will make it break:&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 title: My cool title: and subtitle&lt;br /&gt;
 language: en&lt;br /&gt;
 --- &lt;br /&gt;
&lt;br /&gt;
The title is only there to make the name of the PDF file when it is exported, and the language can be set to something other than English. But this metadata must be there, and there must be three hyphens (---) opening and closing the metadata block.&lt;br /&gt;
&lt;br /&gt;
== Error log ==&lt;br /&gt;
&lt;br /&gt;
For some adventures in Octomode, see the [[Error log]].&lt;br /&gt;
&lt;br /&gt;
==Made with Octomode==&lt;br /&gt;
&lt;br /&gt;
A partial collection of zines, publications, sticker sets and web posters made with octomode. &lt;br /&gt;
&lt;br /&gt;
The list is not complete, but that&#039;s also not the point. It is here to give an idea what kind of things are made. &lt;br /&gt;
&lt;br /&gt;
And it&#039;s also here as an archive of the practices that have grown around octomode. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=250 heights=300&amp;gt;&lt;br /&gt;
File:SomeTimes number-1.pdf|First edition of the &#039;&#039;[[SomeTimes]]&#039;&#039; by Varia (April, 2022) &lt;br /&gt;
File:Af-en-toe nummer-1.pdf|Eerste editie van de &#039;&#039;[[SomeTimes|Af en Toe]]&#039;&#039; by Varia (april, 2022)&lt;br /&gt;
File:SomeTimes number-3.pdf|Third edition of the &#039;&#039;[[SomeTimes]]&#039;&#039; made for the 12th of October Counter-Cloud Action day, by Varia (October, 2023)&lt;br /&gt;
File:Bulgarian-Antifascist-Bulletin 1 2023.pdf|&#039;&#039;[[Bulgarian antifascist bulletin]]&#039;&#039; (2023)&lt;br /&gt;
File:ComputationalPublishingandWriting 2023.pdf|&#039;&#039;[[the title is|the title is: (and then a series of checkboxes) (insert here your suggestions :} ) +1+1+1+1+1]]&#039;&#039;, outcome of a workshop hosted by Winnie Soon and Geoff Cox (April, 2023)&lt;br /&gt;
File:Hosting-with-zine.pdf|&#039;&#039;Hosting with]]&#039;&#039; self-published by Varia, made by Angeliki, Artemis and Manetta (July, 2023)&lt;br /&gt;
File:ATNOFS-screen.pdf|&#039;&#039;[[A Traversal Network of Feminist Servers]]&#039;&#039; or ATNOFS in short, published by Varia, Hypha, Feminist Hack Meetings, Constant, esc, LURK (March 2023)&lt;br /&gt;
File:Free palestine reader.png|Front page of the [[Free palestine reader]] &lt;br /&gt;
File:Anarchokrant 4.png|Front page of the fourth edition of the [[Anarchokrant]] &lt;br /&gt;
File:Social-in-the-media-bw.pdf|&#039;&#039;[[Social in the Media]]&#039;&#039;, zine made by Varia, June 2024&lt;br /&gt;
File:Bulletin-6-0.jpg|&#039;&#039;[[HD Bulletin]]&#039;&#039; 6 made by Hackers &amp;amp; Designers, February 2025&lt;br /&gt;
File:so-you-decided-to-make-a-zine.jpg|&#039;&#039;[[so, you decided to make a zine using octomode]]&#039;&#039;, a zine introducing how to work with octomode, made by Simon Browne during his residency in Ireland, June 2025&lt;br /&gt;
File:Constant-techno-disobedience-2023.pdf|[[Constant SPLINT zines]] issue #1: &#039;&#039;Techno-disobedience!&#039;&#039; made by Martino Morandi, Alix Turcq, Manetta Berends (December 2023)&lt;br /&gt;
File:Stickers-XPUB-Charlie.png|Sticker sheet made by Charlie during &#039;&#039;[[Special Issue 26: Declarations]]&#039;&#039;, a thematic trimester project at [https://xpub.nl XPUB] (spring 2025)&lt;br /&gt;
File:XPUB-SI26-Declarations.png|Declarations web poster made collectively in octomode by the XPUB students + Doriane during &#039;&#039;[[Special Issue 26: Declarations]]&#039;&#039; (spring 2025)&lt;br /&gt;
File:So-you-decided-to-make-a-zine-in-octomode.pdf|&#039;&#039;[[so, you decided to make a zine using octomode|so, you decided to make a zine in octomode]]&#039;&#039; second version! Made by Simon during the Des*gn Week in Linz (November, 2025)&lt;br /&gt;
File:Flyerconstanta2-82dd7.jpg|&#039;&#039;Otherworldly Communications&#039;&#039; is the 3rd annual publication of the [[Constant SPLINT zines]], designed by Sarah Magnan, published in March 2026&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Versions of octomode==&lt;br /&gt;
&lt;br /&gt;
===technodisobedience===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;2023&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2025-06-17 12-44-37.png|left|thumb|new buttons!]]&lt;br /&gt;
&lt;br /&gt;
[[File:Octomode-technodisobedience-4.png|left|thumb|the publication in CK mode]]&lt;br /&gt;
&lt;br /&gt;
[[File:Octomode-technodisobedience-5.png|left|thumb|the same page in MYK mode]]&lt;br /&gt;
&lt;br /&gt;
The art organisation Constant in BXL makes a publication to document their activities of that year and in 2023 they worked around the theme of technodisobedience: https://circulations.constantvzw.org/pub/constant-techno-disobedience-2023.pdf&lt;br /&gt;
&lt;br /&gt;
As part of the publication making and thinking, i (Manetta) was invited to work with Martino on a publishing workflow and printed outcome. We worked on some tools that we in the end awkwardly (but with joy) called &#039;&#039;AGGREGARIOUSLY SNOWPLOWING devices&#039;&#039;: a houtje-touwtje/cobbled-together workflow to publish snippets from pads (using &#039;&#039;snowpoles&#039;&#039;) continuously throughout the year (using an &#039;&#039;aggregator&#039;&#039;). We [https://circulations.constantvzw.org/pub/constant-techno-disobedience-2023.pdf#page=37 wrote about in the publication] too.&lt;br /&gt;
&lt;br /&gt;
In the end, this annual publication was produced with the whole Constant team joined by Alix Turcq and myself, using a customized version of octomode installed on their server. The publication was RISO printed at Chez Rosi (a sweet printing place in BXL) which was a reason to add a color separation feature to octomode (!). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
The publication you are holding is instead the result of our step into octomode, a system that we trusted would allow us to have a publication for this year balancing collective workflows and experimental additions, but with a much more predictable timeline. In the case of this publication, we developed a custom version of octomode, that allows us to output different PDFs with color separation in view of our riso-printing at Chez Rosi in Brussel. To achieve the separation of colors, we made use of Imagemagick and a bunch of hacks in our css styles to make sure to generate both a riso simulation of the two color printing technique for the web version and the correct files to send to the risograph printer.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code is stored as a separate branch called [https://git.vvvvvvaria.org/CC/octomode/src/branch/technodisobedience/ &amp;lt;code&amp;gt;technodisobedience&amp;lt;/code&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===grilletti===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;2025&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Grilletti-epub-pxlhNQ0zT5etS075qwdjsQ.jpg|thumb|left|new octomode button: EPUB !!!]]&lt;br /&gt;
&lt;br /&gt;
[[File:Grilletti-epub-2.png|thumb|left|second step in the EPUB generation feature]]&lt;br /&gt;
&lt;br /&gt;
[[File:Grilletti-paste.png|thumb|left|another new octomode button: PASTE]]&lt;br /&gt;
&lt;br /&gt;
During an italian hackmeeting the group C.I.R.C.E. laid out a book with octomode and did a short presentation on the process, &amp;quot;very beta&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
A new button was added: EPUB (!), to generate an epub file directly from the octomode environment. When you click the button, it brings you to another page, where you can select a cover image before you generate the EPUB.&lt;br /&gt;
&lt;br /&gt;
A second button was added too: PASTE, which seems to be a way to import markdown files from either your local computer, or stored online somewhere. Hmm! &lt;br /&gt;
&lt;br /&gt;
The code will be pushed to the [https://git.vvvvvvaria.org/CC/octomode/src/branch/technodisobedience/ &amp;lt;code&amp;gt;technodisobedience&amp;lt;/code&amp;gt;] branch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Learning Palestine===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;2025-2026&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hackersanddesigners.nl/ Hackers &amp;amp; Designers] are working on a custom Octomode setup for the group [https://learningpalestine.net/ Learning Palestine], to support their (re)publishing efforts of texts &amp;quot;to disseminate knowledge on the history of the ongoing struggle for justice, liberation, and freedom of Palestine and the Palestinian People&amp;quot;, outside of the hands of corporate platforms. At first they explored ways to do so without corporate social media platforms, but then also wanted to step away from corporate design tools such as Adobe InDesign. &lt;br /&gt;
&lt;br /&gt;
They started to collaborate with Hackers &amp;amp; Designers to see what role Octomode can play in this great initiative, and for this H&amp;amp;D is working on some changes and new features to how etherpads work within Octomode, which they published as a plugin here: https://www.npmjs.com/package/ep_markdown_toc and documented here: https://etherpad.hackersanddesigners.nl/p/ep_plugins. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Manetta</name></author>
	</entry>
</feed>