forked from sch/schapps
Update information and references;
Add some pages from the Gemini version of this publication.
This commit is contained in:
parent
808a319ed0
commit
83b44e0091
9 changed files with 532 additions and 32 deletions
17
README.md
17
README.md
|
@ -1,20 +1,25 @@
|
||||||
# Slixfeed Publication
|
# Schapps Publication
|
||||||
|
|
||||||
|
Schapps site and publication.
|
||||||
|
|
||||||
## About
|
## About
|
||||||
|
|
||||||
This repository contains the official Slixfeed Publication: https://slixfeed.woodpeckersnest.space/
|
This repository contains the official Schapps publication which is kindly
|
||||||
|
sponsored by WPN, and hosted at https://schapps.woodpeckersnest.eu
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Anyone is welcome to submit code that fixes problems and improve things.
|
Anyone is welcome to submit code that fixes problems and improve things.
|
||||||
|
|
||||||
You can also submit redesigns, yet first open an issue report informing us, preferably with an example.
|
You can also submit redesigns, yet first open an issue report informing us,
|
||||||
|
preferably with an example.
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
The site uses [Nikola](https://getnikola.com/) as a static site generator.
|
The site utilizes [Nikola](https://getnikola.com) as a static site generator.
|
||||||
|
|
||||||
To generate the site, execute the following command inside the repositpry directory:
|
To generate the site, execute the following command inside the repository
|
||||||
|
directory:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
nikola build
|
nikola build
|
||||||
|
@ -35,6 +40,6 @@ git init
|
||||||
git checkout -b main
|
git checkout -b main
|
||||||
git add *
|
git add *
|
||||||
git commit -m "Description of action"
|
git commit -m "Description of action"
|
||||||
git remote add origin https://git.xmpp-it.net/sch/slixfeed.woodpeckersnest.space.git
|
git remote add origin https://git.xmpp-it.net/sch/schapps.git
|
||||||
git push -u origin main
|
git push -u origin main
|
||||||
```
|
```
|
||||||
|
|
|
@ -1,23 +1,29 @@
|
||||||
.. title: Blasta
|
.. title: Blasta
|
||||||
.. slug: blasta
|
.. slug: blasta
|
||||||
.. date: 2024-09-24 00:00:00 UTC
|
.. date: 2024-09-24 00:00:00 UTC
|
||||||
.. tags: blasta
|
.. tags: blasta, bookmarks, collaboration, pubsub, xmpp
|
||||||
.. link: blasta
|
.. link: blasta
|
||||||
.. description: The agreeable and cordial civic bookmarking system
|
.. description: The agreeable and cordial civic bookmarking system
|
||||||
.. type: text
|
.. type: text
|
||||||
|
|
||||||
|
About
|
||||||
|
-----
|
||||||
|
|
||||||
Blasta is a collaborative bookmarks manager for organizing online content.
|
Blasta is a collaborative bookmarks manager for organizing online content.
|
||||||
It allows you to add links to your personal collection of links, to categorize
|
|
||||||
them with keywords, and to share your collection not only among your own
|
|
||||||
software, devices and machines, but also with others.
|
|
||||||
|
|
||||||
What makes Blasta a collaborative system is its ability to display to you the
|
It allows to add links to personal collections of links, to categorize them with keywords, to share them with people and synchronize them.
|
||||||
links that other people have collected, as well as showing you who else has
|
|
||||||
bookmarked a specific link. You can also view the links collected by others,
|
|
||||||
and subscribe to the links of people whose lists you deem to be interesting.
|
|
||||||
|
|
||||||
Blasta does not limit you to save links of certain types; you can save links of
|
What makes Blasta a collaborative system is its ability to display links that other were collected by others, as well as showing who else has bookmarked a specific link. It is also possible to view links that were collected by others, and subscribe to the links.
|
||||||
types adc, dweb, ed2k, feed, ftp, gemini, geo, gopher, http, ipfs, irc, magnet,
|
|
||||||
mailto, monero, mms, news, sip, udp, xmpp and any scheme and type that you desire.
|
|
||||||
|
|
||||||
Project source is hosted at `git.xmpp-it.net/sch/Blasta <https://git.xmpp-it.net/sch/Blasta>`_.
|
Blasta is not limited to links of certain types; it can save links of types adc, dweb, ed2k, feed, ftp, gemini, geo, gopher, http, ipfs, irc, magnet, mailto, monero, mms, news, sip, udp, xmpp and any scheme and type.
|
||||||
|
|
||||||
|
Resources
|
||||||
|
---------
|
||||||
|
|
||||||
|
Project source: `git.xmpp-it.net/sch/Blasta <https://git.xmpp-it.net/sch/Blasta>`_
|
||||||
|
|
||||||
|
Video (PeerTube): https://video.xmpp-it.net/w/cfozoUeVLFbBFMCCSCJ1Dn
|
||||||
|
|
||||||
|
Video (magnet link): `magnet:?xt=urn:btih:0411cb12107bda0457475c4692c49e7c8be19cc4` <magnet:?xt=urn:btih:0411cb12107bda0457475c4692c49e7c8be19cc4&dn=Blasta%20-%20An%20XMPP%20PubSub%20Annotation%20Management%20System%201080p.mp4&tr=wss%3A%2F%2Fvideo.xmpp-it.net%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fvideo.xmpp-it.net%2Ftracker%2Fannounce&ws=https://video.xmpp-it.net/static/streaming-playlists/hls/5b16d9d1-97b8-42c8-ada6-6727ba59cc87/ce428cc1-82e2-428f-84e3-815a8d8a77f6-1080-fragmented.mp4>`_
|
||||||
|
|
||||||
|
Video (torrent): `blasta_an_xmpp_pubsub_annotation_management_system.torrent <https://video.xmpp-it.net/download/torrents/e72b143a-befd-443f-9ef8-11b6cee887e7-1080-hls.torrent>`_.
|
||||||
|
|
54
pages/cleanurls.rst
Normal file
54
pages/cleanurls.rst
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
.. title: Clean URLs
|
||||||
|
.. slug: cleanurls
|
||||||
|
.. date: 2024-09-24 00:00:00 UTC
|
||||||
|
.. tags: ecma, html, greasemonkey, link, privacy, tracker, url
|
||||||
|
.. link: cleanurls
|
||||||
|
.. description: Original URL redirector and fixer
|
||||||
|
.. type: text
|
||||||
|
|
||||||
|
Remove needless parameters from a given URL and correct it to a cleaner one.
|
||||||
|
|
||||||
|
About
|
||||||
|
-----
|
||||||
|
|
||||||
|
This script was started as a proof of concept of utilizing the URL API instead of RegEx.
|
||||||
|
|
||||||
|
To add a new hash or parameter, simply add it to the respective array.
|
||||||
|
|
||||||
|
Enjoy graceful sharing!
|
||||||
|
|
||||||
|
Legend and visual examples
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
```
|
||||||
|
l) Discovered URL
|
||||||
|
URL found within a parameter
|
||||||
|
|
||||||
|
w) Pure link
|
||||||
|
URL without parameters (mere pathname)
|
||||||
|
|
||||||
|
g) Safe link
|
||||||
|
URL with whitelisted parameters
|
||||||
|
|
||||||
|
y) Semi-safe link
|
||||||
|
URL purged by blacklist
|
||||||
|
|
||||||
|
r) Unsafe link
|
||||||
|
Original URL (useful in rare cases)
|
||||||
|
|
||||||
|
orderBy orderDir src ref version source url Custom Visual Example
|
||||||
|
Link №1 ✓ ✓ ✓ ✓ ✕ ✕ ✕ ✕ (l)(w)(g)(r)
|
||||||
|
Link №2 ✓ ✓ ✕ ✕ ✓ ✕ ✕ ✕ None
|
||||||
|
Link №3 ✓ ✓ ✕ ✓ ✓ ✕ ✕ ✕ (w)(g)(r)
|
||||||
|
Link №4 ✓ ✓ ✕ ✓ ✓ ✓ ✓ /ref= (l)(l)(w)(g)(y)(r)
|
||||||
|
Link №5 ✓ ✓ ✓ ✕ ✓ ✕ ✕ 465933 (l)(w)(g)(y)(r)
|
||||||
|
Link №6 ✓ ✓ ✕ ✕ ✓ ✕ ✓ ✕ (l)(w)(g)(y)
|
||||||
|
Link №7 ✕ ✕ ✕ ✓ ✕ ✕ ✕ slackware (l)(w)(r)
|
||||||
|
Link №8 ✕ ✕ ✕ ✕ ✕ ✓ ✕ (l)(w)(y)
|
||||||
|
```
|
||||||
|
|
||||||
|
Resources
|
||||||
|
---------
|
||||||
|
|
||||||
|
* https://greasyfork.org/scripts/465933-cleanurls-clean-url-improved Greasy Fork
|
||||||
|
* https://openuserjs.org/scripts/sjehuda/Clean_URL_Improved
|
|
@ -6,16 +6,21 @@
|
||||||
.. description: Schapps Software
|
.. description: Schapps Software
|
||||||
.. type: text
|
.. type: text
|
||||||
|
|
||||||
Welcome to Schapps Software.
|
Welcome to Schapps Software!
|
||||||
|
|
||||||
Schapps Software provides a selection of XMPP software, such as bots, tools and utilities.
|
Schapps Software provides a selection of XMPP software, such as bots, tools and utilities.
|
||||||
|
|
||||||
Among the collection of software are Blasta, KaikOut, Rivista XJP and Slixfeed.
|
Among the collection of software are Blasta, JabberCard, KaikOut, Rivista XJP, Slixfeed and Syndikate.
|
||||||
|
|
||||||
Our intention is to promote flexible and portable data sharing and management platforms.
|
Our intention is to promote flexible and portable data sharing and management platforms.
|
||||||
|
|
||||||
We are namely focusing on free and open protocols, such as IRC and XMPP.
|
We are namely focusing on free and open protocols, such as IRC and XMPP.
|
||||||
|
|
||||||
Our main platform is XMPP.
|
Our main platforms are XMPP, IRC, BitTorrent, and Gemini.
|
||||||
|
|
||||||
|
Our additional platforms are DC, eD2k, Gopher, I2P, LXMF and MQTT.
|
||||||
|
|
||||||
We hope you would enjoy the software offered by Schapps.
|
We hope you would enjoy the software offered by Schapps.
|
||||||
|
|
||||||
|
Your hosts,
|
||||||
|
Schimon and Simone
|
||||||
|
|
112
pages/newspaper.rst
Normal file
112
pages/newspaper.rst
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
.. title: Newspaper
|
||||||
|
.. slug: newspaper
|
||||||
|
.. date: 2024-09-24 00:00:00 UTC
|
||||||
|
.. tags: activitystream, atom, ecma, html, json, greasemonkey, news, newspaper, rdf, rss, smf, syndication, xml
|
||||||
|
.. link: newspaper
|
||||||
|
.. description: View news feeds inside the browser
|
||||||
|
.. type: text
|
||||||
|
|
||||||
|
About
|
||||||
|
-----
|
||||||
|
|
||||||
|
Newspaper is a Greasemonkey script which renders syndication feeds into
|
||||||
|
readable and printable HTML file.
|
||||||
|
|
||||||
|
It supports ActivityStream, Atom, JSON, RDF and RSS syndications.
|
||||||
|
|
||||||
|
If you are using LibreWolf, Waterfox etc., please replace your browser or
|
||||||
|
follow the instructions at the bottom of this page in order to make the best
|
||||||
|
use of this software.
|
||||||
|
|
||||||
|
Features
|
||||||
|
--------
|
||||||
|
|
||||||
|
* Audio player;
|
||||||
|
* Beautiful interface;
|
||||||
|
* Content filtering;
|
||||||
|
* Controllers;
|
||||||
|
* Customization of news reader handler;
|
||||||
|
* Customization of fonts;
|
||||||
|
* Customization of text size;
|
||||||
|
* Dark mode;
|
||||||
|
* Text direction control.
|
||||||
|
|
||||||
|
What is a Syndication News Feed?
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
Syndication Feed is a mean for content and media publishers to reach a wider
|
||||||
|
audience easily. It allows you to receive information directly without the going
|
||||||
|
from site to site.
|
||||||
|
|
||||||
|
Essentially, a feed is a function that allows “Feed Readers” to access multiple
|
||||||
|
sites automatically looking for new content and then posting the information
|
||||||
|
about new content and updates to another site, mobile app or desktop software at
|
||||||
|
the office.
|
||||||
|
|
||||||
|
Feeds provide a way for users to keep up with the latest news, events, package
|
||||||
|
and delivery status information posted on different sites such as news sites,
|
||||||
|
music sites, content sites (i.e. social networks), torrent indexers and podcasts
|
||||||
|
in one spot.
|
||||||
|
|
||||||
|
Instructions for Gecko based browsers
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
The following instructions are intended to circumvent the various of
|
||||||
|
arbitrary limitations that have been foisted by Mozilla since 2018 to
|
||||||
|
attempt to hide the syndication technology from your awareness.
|
||||||
|
|
||||||
|
Read `The RSS deprecation conspiracy <https://diggy.club/articles/mozilla.xhtml#rss>`_
|
||||||
|
|
||||||
|
Get Falkon
|
||||||
|
----------
|
||||||
|
|
||||||
|
You are encouraged to install [Falkon browser](https://falkon.org).
|
||||||
|
|
||||||
|
Enable JSON
|
||||||
|
-----------
|
||||||
|
|
||||||
|
* Navigate to "about:config".
|
||||||
|
* Set "devtools.jsonview.enabled" to "false".
|
||||||
|
|
||||||
|
Enable Atom & RSS
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
* Install `Open in Browser <https://addons.mozilla.org/firefox/addon/open-in-browser/>`_
|
||||||
|
|
||||||
|
* Import the following rules via extension preferences.
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"mime-mappings": {
|
||||||
|
"application/atom+xml": "1text/plain",
|
||||||
|
"application/rss+xml": "1text/plain",
|
||||||
|
"application/rdf+xml": "1text/plain",
|
||||||
|
"application/feed+json": "1text/plain",
|
||||||
|
"application/x-atom+xml": "1text/plain",
|
||||||
|
"application/x-rss+xml": "1text/plain",
|
||||||
|
"application/x-rdf+xml": "1text/plain",
|
||||||
|
"application/xml": "1text/plain",
|
||||||
|
"text/xml": "1text/plain"
|
||||||
|
},
|
||||||
|
"sniffed-mime-mappings": {
|
||||||
|
"application/atom+xml": "1text/plain",
|
||||||
|
"application/rss+xml": "1text/plain",
|
||||||
|
"application/rdf+xml": "1text/plain",
|
||||||
|
"application/feed+json": "1text/plain",
|
||||||
|
"application/x-atom+xml": "1text/plain",
|
||||||
|
"application/x-rss+xml": "1text/plain",
|
||||||
|
"application/x-rdf+xml": "1text/plain",
|
||||||
|
"application/xml": "1text/plain",
|
||||||
|
"text/xml": "1text/plain"
|
||||||
|
},
|
||||||
|
"text-nosniff": false,
|
||||||
|
"octet-sniff-mime": true,
|
||||||
|
"override-download-type": false
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Resources
|
||||||
|
---------
|
||||||
|
|
||||||
|
* https://greasyfork.org/scripts/465932-newspaper-html-feed-reader
|
||||||
|
* https://openuserjs.org/scripts/sjehuda/Newspaper
|
|
@ -6,12 +6,29 @@
|
||||||
.. description: Projects from Schapps
|
.. description: Projects from Schapps
|
||||||
.. type: text
|
.. type: text
|
||||||
|
|
||||||
|
Privacy
|
||||||
|
-------
|
||||||
|
|
||||||
|
`CleanURLs </cleanurls>`_ is a browser extension which removes tracking elements from hyperlinks.
|
||||||
|
|
||||||
|
Syndication
|
||||||
|
-----------
|
||||||
|
|
||||||
|
`Newsline </newsline>`_ is a news bar panel for high freqency updates.
|
||||||
|
|
||||||
|
`Newspaper </newspaper>`_ is a feed renderer for HTML browsers.
|
||||||
|
|
||||||
|
XMPP
|
||||||
|
----
|
||||||
|
|
||||||
`Blasta </blasta>`_ is a collaborative annotation system.
|
`Blasta </blasta>`_ is a collaborative annotation system.
|
||||||
|
|
||||||
`BukuBot </bukubot>`_ is a bookmarks bot.
|
`BukuBot </bukubot>`_ is a bookmarks bot.
|
||||||
|
|
||||||
|
`JabberCard </jabbercard>`_ is a journal publisher for XMPP which turns XMPP accounts into private sites.
|
||||||
|
|
||||||
`KaikOut </kaikout>`_ is a moderation bot.
|
`KaikOut </kaikout>`_ is a moderation bot.
|
||||||
|
|
||||||
`Rivista XJP </rivista>`_ is a journal publisher.
|
`Rivista XJP </rivista>`_ is an XMPP PubSub gateway to HTTP news readers.
|
||||||
|
|
||||||
`Slixfeed </slixfeed>`_ is a news bot.
|
`Slixfeed </slixfeed>`_ is a news bot.
|
||||||
|
|
|
@ -1,21 +1,34 @@
|
||||||
.. title: Rivista
|
.. title: Rivista XJP
|
||||||
.. slug: rivista
|
.. slug: rivista-xjp
|
||||||
.. date: 2024-09-24 00:00:00 UTC
|
.. date: 2024-09-24 00:00:00 UTC
|
||||||
.. tags: rivista
|
.. tags: atom, rivista, syndication, xmpp
|
||||||
.. link: rivista
|
.. link: rivista
|
||||||
.. description: Journal publisher for XMPP
|
.. description: XMPP gateway and journal publisher
|
||||||
.. type: text
|
.. type: text
|
||||||
|
|
||||||
|
About
|
||||||
|
-----
|
||||||
|
|
||||||
Rivista is a lower-cost dynamic site generator, and a gateway for XMPP PubSub.
|
Rivista is a lower-cost dynamic site generator, and a gateway for XMPP PubSub.
|
||||||
|
|
||||||
Rivista is usable with both, Feed Readers and HTML Browsers.
|
It is usable with both, Feed Readers and HTML Browsers.
|
||||||
|
|
||||||
Features
|
Features
|
||||||
--------
|
--------
|
||||||
|
|
||||||
- Parse XMPP Pubsub Nodes and sends them as Atom Syndication Format or OPML over
|
* Parse XMPP Pubsub Nodes and sends them as Atom Syndication Format or OPML over HTTP.
|
||||||
HTTP.
|
|
||||||
- Generate Atom syndication feeds (RFC 4287) from XMPP PubSub nodes (XEP-0060).
|
|
||||||
- XSLT stylesheets that transform PubSub nodes into XHTML journal sites.
|
|
||||||
|
|
||||||
Project source is hosted at `git.xmpp-it.net/sch/Rivista <https://git.xmpp-it.net/sch/Rivista>`_.
|
* Generate Atom syndication feeds (RFC 4287) from XMPP PubSub nodes (XEP-0060).
|
||||||
|
|
||||||
|
* XSLT stylesheets that transform PubSub nodes into XHTML journal sites.
|
||||||
|
|
||||||
|
Resources
|
||||||
|
---------
|
||||||
|
|
||||||
|
Project source: `git.xmpp-it.net/sch/Rivista <https://git.xmpp-it.net/sch/Rivista>`_
|
||||||
|
|
||||||
|
Video (PeerTube): https://video.xmpp-it.net/w/vNqcMooy3pqRAZ8Yb8grr1
|
||||||
|
|
||||||
|
Video (magnet link) `magnet:?xt=urn:btih:7feae97d6d836c5bff01eab093867917f1910813 <magnet:?xt=urn:btih:7feae97d6d836c5bff01eab093867917f1910813&dn=Rivista%20XJP%20-%20An%20XMPP%20PubSub%20Content%20Management%20System%201030p.mp4&tr=wss%3A%2F%2Fvideo.xmpp-it.net%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fvideo.xmpp-it.net%2Ftracker%2Fannounce&ws=https://video.xmpp-it.net/static/streaming-playlists/hls/f1542678-ad70-4a9b-af4d-1528b3c0b2b6/39955e3b-4b81-441f-9507-5d2b8d245353-1030-fragmented.mp4>`_
|
||||||
|
|
||||||
|
Video (torrent) `rivista_xjp_an_xmpp_pubsub_content_management_system.torrent <https://video.xmpp-it.net/download/torrents/75858dae-75f0-48b9-a130-372c8a6be4f1-1030-hls.torrent>`_
|
||||||
|
|
162
posts/addressbook-and-xmpp-roster.rst
Normal file
162
posts/addressbook-and-xmpp-roster.rst
Normal file
|
@ -0,0 +1,162 @@
|
||||||
|
.. title: Contacts Are In Roster And Also In Address Book
|
||||||
|
.. slug: addressbook-and-xmpp-roster
|
||||||
|
.. date: 2024-10-30 8:22:04 UTC
|
||||||
|
.. tags: address, addressbook, book, chat, contact, jabber, xmpp
|
||||||
|
.. category: journal
|
||||||
|
.. link: contacts-are-in-roster-and-also-in-address-book
|
||||||
|
.. description: Not all of your XMPP contacts should be in your roster.
|
||||||
|
.. type: text
|
||||||
|
|
||||||
|
Greetings, to one and all!
|
||||||
|
|
||||||
|
I gladly greet you, whether you are in my roster or in my address book or
|
||||||
|
neither.
|
||||||
|
|
||||||
|
Good news about Convo
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
It was yesterday, that Mr. Badri Sunderarajan, the developer of the XMPP chat
|
||||||
|
client *Convo*, has announced that the download count of Convo has surpassed the
|
||||||
|
101 count in less than a day after he has published Convo at the repository of
|
||||||
|
`BananaHackers` <https://store.bananahackers.net/#Convo>`_.
|
||||||
|
|
||||||
|
With no advertising nor marketing, and plenty of foreign attempts to restrict
|
||||||
|
XMPP, it is a good display which indicates of the high popularity of XMPP.
|
||||||
|
|
||||||
|
This is indeed good news!
|
||||||
|
|
||||||
|
A note about adding of contacts
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
While I was reading the release notes of the release titled "Channels"
|
||||||
|
(`Convo 0.1.0 <https://git.disroot.org/badrihippo/convo/releases/tag/0.1.0>`_),
|
||||||
|
I have further noticed, that there is an even earlier release; it is a
|
||||||
|
pre-release version titled "Early Preview" (Convo 0.1.0-pre1).
|
||||||
|
|
||||||
|
I was not certain as to how to interpret the following sentence.
|
||||||
|
|
||||||
|
> Keep in mind that you will probably want an extra client to do "advanced"
|
||||||
|
> things like adding a new contact.
|
||||||
|
|
||||||
|
### The XMPP roster has benefits
|
||||||
|
|
||||||
|
While the benefits of adding a contact and consequently subscribe to a contact
|
||||||
|
on the XMPP network allows to observe the status of the contact (e.g. online,
|
||||||
|
chatty, away and extended away) and status messages, which may also include
|
||||||
|
music titles of the music that the contact is currently listening to, and even
|
||||||
|
further includes moods and even activities.
|
||||||
|
|
||||||
|
`XEP-0107: Contact Mood <https://xmpp.org/extensions/xep-0107.html>`_
|
||||||
|
|
||||||
|
`XEP-0108: Contact Activity <https://xmpp.org/extensions/xep-0108.html>`_
|
||||||
|
|
||||||
|
The added benefits of the features that are exposed by subscribing to a contact
|
||||||
|
on XMPP are definitely useful, namely for contacts of people that you are either
|
||||||
|
constantly or physically interacted with (i.e. in "real life").
|
||||||
|
|
||||||
|
Otherwise, that information is distracting and you would not want to have that
|
||||||
|
contact in your roster, as it would not be productive.
|
||||||
|
|
||||||
|
A practice which I advocate
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
To realize the productivity matter, I will describe one of my recent
|
||||||
|
communications.
|
||||||
|
|
||||||
|
For example, in the last period of month, I have been contantly in contact with
|
||||||
|
Kris of `JoinJabber <https://joinjabber.org>`_, who is guiding my efforts towards
|
||||||
|
a new introduction and publishing system for XMPP (`JabberCard` </jabbercard>`_);
|
||||||
|
|
||||||
|
Both of us, are in direct contact for over three months, and non of us has ever
|
||||||
|
added the other counterpart to his roster nor shared his subscription with the
|
||||||
|
other, respectively.
|
||||||
|
|
||||||
|
Nevertheless, I did save the XMPP contact of Kris to my address book, and I have
|
||||||
|
also saved the XMPP address of the group chat JoinJabber to my address book too.
|
||||||
|
|
||||||
|
This is the entry which is saved in my computer as filename `joinjabber.vcf`.
|
||||||
|
|
||||||
|
```
|
||||||
|
BEGIN:VCARD
|
||||||
|
VERSION:4.0
|
||||||
|
FN:JoinJabber General Chat
|
||||||
|
ORG:JoinJabber
|
||||||
|
TITLE:An inclusive space on the Jabber network
|
||||||
|
URL:https://joinjabber.org
|
||||||
|
NOTE:A landing place for the open federated Jabber community.
|
||||||
|
X-XMPP;TYPE=MUC:xmpp:chat@joinjabber.org?join
|
||||||
|
END:VCARD
|
||||||
|
```
|
||||||
|
|
||||||
|
This matter also applies for channels (PubSub nodes) and group chats.
|
||||||
|
|
||||||
|
moparisthebest has said...
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
> I agree, I would go further and say that presence is an antiquated concept
|
||||||
|
> that has no place in modern messaging.
|
||||||
|
|
||||||
|
> "whether someone is currently online" mattered a ton in 1999 when people would
|
||||||
|
> not get your message at all if you sent it when people were offline.
|
||||||
|
|
||||||
|
> Today, people will get it whenever they want to get it, and will respond when
|
||||||
|
> they want to respond, hence presence is a completely useless concept.
|
||||||
|
|
||||||
|
I would not categorically determine that presence is a completely useless
|
||||||
|
concept, as it has its advantages by knowing when a friend is busy, and it is
|
||||||
|
also useful when engaging with automated software over XMPP (e.g. news bots).
|
||||||
|
|
||||||
|
Conclusion
|
||||||
|
----------
|
||||||
|
|
||||||
|
I maintain a roster which does not exceed 50 contacts.
|
||||||
|
|
||||||
|
Most of my roster contacts are:
|
||||||
|
|
||||||
|
* Family
|
||||||
|
* Local friends
|
||||||
|
* Frequent contacts
|
||||||
|
* Current associates
|
||||||
|
* Sports companions
|
||||||
|
|
||||||
|
And my address book currently has over 3,500 addresses which mostly includes
|
||||||
|
emails, IRC addresses and telephone numbers, and with over 800 contacts with
|
||||||
|
XMPP addresses.
|
||||||
|
|
||||||
|
The interactive benefits of the XMPP roster are useful to the highest extent in
|
||||||
|
history of instant messaging, and yet, as already mentioned, adding contacts to
|
||||||
|
the XMPP roster is mostly useful when those contacts are of your family,
|
||||||
|
friends, local community members, associates and colleagues of your work and of
|
||||||
|
your joint sports activities.
|
||||||
|
|
||||||
|
Other than those and, perhaps, other types that I might have neglected to
|
||||||
|
mention, use an address book as a mean to store addresses of contacts.
|
||||||
|
|
||||||
|
Best regards,
|
||||||
|
Schimon
|
||||||
|
|
||||||
|
Appendix
|
||||||
|
--------
|
||||||
|
|
||||||
|
People who I collaborate and communicate with on a weekly basis, without sharing
|
||||||
|
presence. We even communicate via VoIP.
|
||||||
|
|
||||||
|
Alex of `DenshiSite <https://denshi.org>`_
|
||||||
|
|
||||||
|
Diggy of `Dig Deeper <http://diggy.club>`_
|
||||||
|
|
||||||
|
`Hook <https://matija.suklje.name>`_
|
||||||
|
|
||||||
|
luna of `l4.pm <https://l4.pm>`_
|
||||||
|
|
||||||
|
magdesign of `PocketVJ <https://fosstodon.org/@pocketvj>`_
|
||||||
|
|
||||||
|
roughnecks of `WPN <https://blog.woodpeckersnest.space>`_
|
||||||
|
|
||||||
|
Staff members of `Simplified Privacy <https://simplifiedprivacy.com>`_
|
||||||
|
|
||||||
|
TheCoffeMaker of `Cyberdelia <https://cyberdelia.com.ar>`_
|
||||||
|
|
||||||
|
`ThUnD3r|Gr33n <xmpp:thorsten@emevth.no-ip.biz?vcard>`_
|
||||||
|
|
||||||
|
And others...
|
126
posts/background-software-as-a-routine.rst
Normal file
126
posts/background-software-as-a-routine.rst
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
.. title: Background Software As A Routine
|
||||||
|
.. slug: background-software-routine
|
||||||
|
.. date: 2024-10-30 8:22:04 UTC
|
||||||
|
.. tags: atom, bittorrent, chat, cli, console, daemon, gtk, interface, library, liferea, module, rss, server, software, syndication, toolkit, xmpp
|
||||||
|
.. category: journal
|
||||||
|
.. link: background-software-as-a-routine
|
||||||
|
.. description: A crucial consideration for independency and longer sustainability.
|
||||||
|
.. type: text
|
||||||
|
|
||||||
|
Good day!
|
||||||
|
|
||||||
|
This post suggests to consider to build software as background software
|
||||||
|
(sometimes referred to as so-called "daemon" or "server") and build, in addition
|
||||||
|
to it, a companion software, which would be utilized as an interface to the
|
||||||
|
background software.
|
||||||
|
|
||||||
|
Liferea and GTK+ toolkit
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
Earlier this week, I was informed, that Mr. Lars Windolf, the maintainer of a
|
||||||
|
popular desktop and office software, Liferea, intends to cease from maintaining
|
||||||
|
it.
|
||||||
|
|
||||||
|
From reading the fourth paragraph of the announcement which was published at
|
||||||
|
`lzone.de <https://lzone.de/liferea/blog/20-years-of-Liferea-and-the-future>`_,
|
||||||
|
I have concluded that the prominent reason, for his intention, is the unexpected
|
||||||
|
maintenance costs and requirements that are consequent to the changes that have
|
||||||
|
been made to the graphical toolkit called GTK+.
|
||||||
|
|
||||||
|
> Looking back at those 20 years for me the GNOME ecosystem developed in a way
|
||||||
|
that the maintenance work was ever increasing. The different aspects of this are
|
||||||
|
the major GTK releases causing massive refactorings, continuous API deprecations
|
||||||
|
causing compiler noise and work that does not benefit the features. So every
|
||||||
|
time I was close to dropping the project, the reason always was the GTK
|
||||||
|
development cycle.
|
||||||
|
|
||||||
|
And the paragraph ends with a mention of libxml2.
|
||||||
|
|
||||||
|
> This is for example different with another important library for Liferea:
|
||||||
|
libxml2. The API was practically 95% **stable** for 20 years.
|
||||||
|
**Zero maintenance effort!**
|
||||||
|
|
||||||
|
This is not a positive matter, unless lessons will be learnt and measures to
|
||||||
|
avoid such undesirable indicents be practiced.
|
||||||
|
|
||||||
|
FLTK and SDL toolkits
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
FLTK appears to be a viable toolkit for Liferea and other projects of sort.
|
||||||
|
|
||||||
|
So it is for SDL which the Gemini browser
|
||||||
|
`Lagrange <https://gmi.skyjake.fi/lagrange/>`_ is built upon.
|
||||||
|
|
||||||
|
Qt toolkit
|
||||||
|
----------
|
||||||
|
|
||||||
|
It has already happened in the past, with other prominent projects such as
|
||||||
|
`LXDE <https://blog.lxde.org/2013/04/25/a-guide-for-porting-gtk-applications-to-qt/>`_
|
||||||
|
which has later formed into `LXQt <https://lxqt-project.org>`_ and
|
||||||
|
`Wiresark <https://blog.wireshark.org/2013/10/switching-to-qt/>`_ which was
|
||||||
|
migrated from GTK+ to Qt due to consequences of decisions that were made for GTK+.
|
||||||
|
|
||||||
|
It will be interesting if The GIMP would also switch to utilizing Qt or FLTK.
|
||||||
|
|
||||||
|
Background mode
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Some software have a good interface, be it command line, console or graphical,
|
||||||
|
and some software have a good core, and some software have both.
|
||||||
|
|
||||||
|
Sometimes, new modules (sometimes referred to as "libraries" so-called), are
|
||||||
|
created and replaced by older modules.
|
||||||
|
|
||||||
|
For example, the XMPP chat client software `PyTalk <http://pytalk.trunat.fr>`_
|
||||||
|
and `Speeue <https://github.com/thepug/Speeqe>`_ are both based on the Python
|
||||||
|
module `xmpppy <http://xmpppy.sourceforge.net>`_; PyTalk offers a Qt interface,
|
||||||
|
and Speeqe offers an HTML interface to interact with people who desire to
|
||||||
|
communicate via the XMPP communication network.
|
||||||
|
|
||||||
|
The module xmpppy is built for version 2 of the computer language Python, which
|
||||||
|
was replaced in favour of the version 3 of the computer language Python, and is
|
||||||
|
not present on most systems nowadays.
|
||||||
|
|
||||||
|
By all means, this does not mean that PyTalk and Speeqe are obsolete, but it
|
||||||
|
does mean that restructure of these software be required in order to easily
|
||||||
|
deploy them on most systems.
|
||||||
|
|
||||||
|
Yet, if Speeqe and PyTalk would have been built into a couple or triple of
|
||||||
|
components (e.g. core, background, and interface), both would have been usable
|
||||||
|
on most systems, even today, provided that the background software be rebuilt or
|
||||||
|
redesigned with a more current module (e.g.
|
||||||
|
`Slixmpp <https://codeberg.org/poezio/slixmpp>`_) instead of xmpppy.
|
||||||
|
|
||||||
|
BitTorrent clents as an example
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
It is interesting, that BitTorrent software, such as qBittorrent, RTorrent and
|
||||||
|
Transmission, to name just a few, tend to be modular, and are often provided in
|
||||||
|
several forms of background, console and graphical interfaces, and the core is
|
||||||
|
the library that each utilizes to communicate in the protocol BitTorrent.
|
||||||
|
|
||||||
|
A common functionality, that BitTorrent clients have, is remote control, usually
|
||||||
|
via the the protocols HTTP and XMPP.
|
||||||
|
|
||||||
|
There is a variaty of advantages that are realized when background components
|
||||||
|
are made available, one of which is the facilitation of adding functionality for
|
||||||
|
remote control.
|
||||||
|
|
||||||
|
Music On Console
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Another instance, is `MOC (Console audio player) <http://moc.daper.net>`_,
|
||||||
|
which, despite its title, it is compartmentalized into a triple of complonents,
|
||||||
|
a background process, a command-line interface and a console interface to
|
||||||
|
visually interact with it.
|
||||||
|
|
||||||
|
Conclusion
|
||||||
|
----------
|
||||||
|
|
||||||
|
Building software in several modes with, at least, background and interface, is
|
||||||
|
a basic and yet **crucial** consideration in order to ensure the sustainability
|
||||||
|
and independency of projects, and not to be relied on the whims of a toolkit
|
||||||
|
lord.
|
||||||
|
|
||||||
|
Best regards,
|
||||||
|
Schimon
|
Loading…
Reference in a new issue