Compare commits
2 commits
main
...
favicon-fi
Author | SHA1 | Date | |
---|---|---|---|
d1222a1e50 | |||
777ecbca1e |
14 changed files with 47 additions and 634 deletions
17
README.md
17
README.md
|
@ -1,25 +1,20 @@
|
|||
# Schapps Publication
|
||||
|
||||
Schapps site and publication.
|
||||
# Slixfeed Publication
|
||||
|
||||
## About
|
||||
|
||||
This repository contains the official Schapps publication which is kindly
|
||||
sponsored by WPN, and hosted at https://schapps.woodpeckersnest.eu
|
||||
This repository contains the official Slixfeed Publication: https://slixfeed.woodpeckersnest.space/
|
||||
|
||||
## Contributing
|
||||
|
||||
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
|
||||
|
||||
The site utilizes [Nikola](https://getnikola.com) as a static site generator.
|
||||
The site uses [Nikola](https://getnikola.com/) as a static site generator.
|
||||
|
||||
To generate the site, execute the following command inside the repository
|
||||
directory:
|
||||
To generate the site, execute the following command inside the repositpry directory:
|
||||
|
||||
```shell
|
||||
nikola build
|
||||
|
@ -40,6 +35,6 @@ git init
|
|||
git checkout -b main
|
||||
git add *
|
||||
git commit -m "Description of action"
|
||||
git remote add origin https://git.xmpp-it.net/sch/schapps.git
|
||||
git remote add origin https://git.xmpp-it.net/sch/slixfeed.woodpeckersnest.space.git
|
||||
git push -u origin main
|
||||
```
|
||||
|
|
1
conf.py
1
conf.py
|
@ -948,6 +948,7 @@ IMAGE_FOLDERS = {'images': 'images'}
|
|||
# <link rel="name" href="file" sizes="size"/>
|
||||
FAVICONS = (
|
||||
("icon", "/favicon.ico", "16x16"),
|
||||
("icon", "/icon_128x128.png", "128x128"),
|
||||
)
|
||||
|
||||
# Show teasers (instead of full posts) in indexes? Defaults to False.
|
||||
|
|
BIN
files/icon_128x128.png
Normal file
BIN
files/icon_128x128.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.5 KiB |
|
@ -1,29 +1,23 @@
|
|||
.. title: Blasta
|
||||
.. slug: blasta
|
||||
.. date: 2024-09-24 00:00:00 UTC
|
||||
.. tags: blasta, bookmarks, collaboration, pubsub, xmpp
|
||||
.. tags: blasta
|
||||
.. link: blasta
|
||||
.. description: The agreeable and cordial civic bookmarking system
|
||||
.. type: text
|
||||
|
||||
About
|
||||
-----
|
||||
|
||||
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.
|
||||
|
||||
It allows to add links to personal collections of links, to categorize them with keywords, to share them with people and synchronize them.
|
||||
What makes Blasta a collaborative system is its ability to display to you the
|
||||
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.
|
||||
|
||||
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.
|
||||
Blasta does not limit you to save links of certain types; you 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 that you desire.
|
||||
|
||||
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>`_.
|
||||
Project source is hosted at `git.xmpp-it.net/sch/Blasta <https://git.xmpp-it.net/sch/Blasta>`_.
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
.. 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
|
||||
--------------------------
|
||||
|
||||
* Discovered URL (l)
|
||||
|
||||
URL found within a parameter
|
||||
|
||||
* Pure link (w)
|
||||
|
||||
URL without parameters (mere pathname)
|
||||
|
||||
* Safe link (g)
|
||||
|
||||
URL with whitelisted parameters
|
||||
|
||||
* Semi-safe link (y)
|
||||
|
||||
URL purged by blacklist
|
||||
|
||||
* Unsafe link (r)
|
||||
|
||||
Original URL (useful in rare cases)
|
||||
|
||||
.. code::
|
||||
|
||||
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
|
||||
* https://openuserjs.org/scripts/sjehuda/Clean_URL_Improved
|
|
@ -6,22 +6,16 @@
|
|||
.. description: Schapps Software
|
||||
.. type: text
|
||||
|
||||
Welcome to Schapps Software!
|
||||
Welcome to Schapps Software.
|
||||
|
||||
Schapps Software provides a selection of XMPP software, such as bots, tools and utilities.
|
||||
|
||||
Among the collection of software are Blasta, JabberCard, KaikOut, Rivista XJP, Slixfeed and Syndikate.
|
||||
Among the collection of software are Blasta, KaikOut, Rivista XJP and Slixfeed.
|
||||
|
||||
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.
|
||||
|
||||
Our main platforms are XMPP, IRC, BitTorrent, and Gemini.
|
||||
|
||||
Our additional platforms are DC, eD2k, Gopher, I2P, LXMF and MQTT.
|
||||
Our main platform is XMPP.
|
||||
|
||||
We hope you would enjoy the software offered by Schapps.
|
||||
|
||||
Your hosts,
|
||||
|
||||
Schimon and Simone
|
||||
|
|
|
@ -1,113 +0,0 @@
|
|||
.. 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 XML
|
||||
----------
|
||||
|
||||
* Install extension `Open in Browser <https://addons.mozilla.org/firefox/addon/open-in-browser/>`_
|
||||
|
||||
* Import the following rules via extension preferences.
|
||||
|
||||
.. code:: json
|
||||
|
||||
{
|
||||
"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,29 +6,12 @@
|
|||
.. description: Projects from Schapps
|
||||
.. 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.
|
||||
|
||||
`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.
|
||||
|
||||
`Rivista XJP </rivista>`_ is an XMPP PubSub gateway to HTTP news readers.
|
||||
`Rivista XJP </rivista>`_ is a journal publisher.
|
||||
|
||||
`Slixfeed </slixfeed>`_ is a news bot.
|
||||
|
|
|
@ -1,34 +1,21 @@
|
|||
.. title: Rivista XJP
|
||||
.. slug: rivista-xjp
|
||||
.. title: Rivista
|
||||
.. slug: rivista
|
||||
.. date: 2024-09-24 00:00:00 UTC
|
||||
.. tags: atom, rivista, syndication, xmpp
|
||||
.. tags: rivista
|
||||
.. link: rivista
|
||||
.. description: XMPP gateway and journal publisher
|
||||
.. description: Journal publisher for XMPP
|
||||
.. type: text
|
||||
|
||||
About
|
||||
-----
|
||||
|
||||
Rivista is a lower-cost dynamic site generator, and a gateway for XMPP PubSub.
|
||||
|
||||
It is usable with both, Feed Readers and HTML Browsers.
|
||||
Rivista is usable with both, Feed Readers and HTML Browsers.
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
* Parse XMPP Pubsub Nodes and sends them as Atom Syndication Format or OPML over HTTP.
|
||||
- Parse XMPP Pubsub Nodes and sends them as Atom Syndication Format or OPML over
|
||||
HTTP.
|
||||
- Generate Atom syndication feeds (RFC 4287) from XMPP PubSub nodes (XEP-0060).
|
||||
- XSLT stylesheets that transform PubSub nodes into XHTML journal sites.
|
||||
|
||||
* 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>`_
|
||||
Project source is hosted at `git.xmpp-it.net/sch/Rivista <https://git.xmpp-it.net/sch/Rivista>`_.
|
||||
|
|
|
@ -1,168 +0,0 @@
|
|||
.. title: Contacts Are In Roster And Also In Address Book
|
||||
.. slug: 2024-10-30-addressbook-and-xmpp-roster
|
||||
.. date: 2024-10-30 8:22:04 UTC
|
||||
.. tags: address, addressbook, book, chat, contact, jabber, xmpp
|
||||
.. category: journal
|
||||
.. link: 2024-10-30-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.
|
||||
|
||||
.. epigraph::
|
||||
|
||||
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`.
|
||||
|
||||
.. code:: ini
|
||||
|
||||
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...
|
||||
--------------------------
|
||||
|
||||
.. epigraph::
|
||||
|
||||
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...
|
|
@ -1,131 +0,0 @@
|
|||
.. title: Background Software As A Routine
|
||||
.. slug: 2024-10-30-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: 2024-10-30-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+.
|
||||
|
||||
.. epigraph::
|
||||
|
||||
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.
|
||||
|
||||
.. epigraph::
|
||||
|
||||
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
|
|
@ -1,62 +0,0 @@
|
|||
.. title: Add Custom Feeds To Your Site
|
||||
.. slug: 2024-11-22-custom-feed
|
||||
.. date: 2024-11-22 3:02:09 UTC
|
||||
.. tags: atom, html, json, rdf, rss, server, syndication
|
||||
.. category: journal
|
||||
.. link: 2024-11-22-custom-feed
|
||||
.. description: Utilize your social feed as a news source on your homesite
|
||||
.. type: text
|
||||
|
||||
If you utilize XMPP, OStatus or ActivityPub accounts with services such as
|
||||
Movim, StatusNet, Pleroma, Akkoma, Mitra, GNU Social, Mastodon, SoapBox or
|
||||
others, then you can use your respective syndication feed of your account on
|
||||
your home site, by adding the following HTML lines, respectively.
|
||||
|
||||
While any code would work, it is recommended to use the code with the proper
|
||||
"type" attribute.
|
||||
|
||||
Atom Syndication Format
|
||||
-----------------------
|
||||
|
||||
Most recommended.
|
||||
|
||||
.. code:: xml
|
||||
|
||||
<link rel="alternate" type="application/atom+xml" title="Set a title (Atom)" href="https://path/to/file.atom">
|
||||
|
||||
JSON Feed
|
||||
---------
|
||||
|
||||
Lesser recommended.
|
||||
|
||||
.. code:: xml
|
||||
|
||||
<link rel="alternate" type="application/json" title="Set a title (JSON)" href="https://path/to/file.json">
|
||||
|
||||
RDF
|
||||
---
|
||||
|
||||
When applicable.
|
||||
|
||||
.. code:: xml
|
||||
|
||||
<link rel="alternate" type="application/rdf+xml" title="Set a title (RDF)" href="https://path/to/file.rdf">
|
||||
|
||||
RSS
|
||||
---
|
||||
|
||||
Least recommended.
|
||||
|
||||
.. code:: xml
|
||||
|
||||
<link rel="alternate" type="application/rss+xml" title="Set a title (RSS)" href="https://path/to/file.rss">
|
||||
|
||||
Conclusion
|
||||
----------
|
||||
|
||||
You are not limited to your ActivityPub or XMPP accounts, and you can add any
|
||||
source of any account and type that you desire.
|
||||
|
||||
Good luck!
|
||||
|
||||
Schimon
|
|
@ -1,9 +1,9 @@
|
|||
.. title: Slixfeed News Bot
|
||||
.. slug: 2024-05-23-slixfeed-news-bot
|
||||
.. slug: slixfeed-news-bot
|
||||
.. date: 2024-05-23 16:27:48 UTC
|
||||
.. tags: atom, bot, chat, feed, feedparser, jabber, news, python, rdf, rss, slixfeed, slixmpp, syndication, xmpp
|
||||
.. category: news
|
||||
.. link: 2024-05-23-slixfeed-news-bot
|
||||
.. link: slixfeed-news-bot
|
||||
.. description: Slixfeed is a news aggregation bot for the XMPP communication network which aims to be easy to use and fully-featured. It provides a convenient access to Blog and News sites.
|
||||
.. type: text
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
.. title: XMPP News Bots
|
||||
.. slug: 2024-05-23-xmpp-news-bots
|
||||
.. slug: xmpp-news-bots
|
||||
.. date: 2024-05-23 18:38:22 UTC
|
||||
.. tags: atom, bot, chat, feed, jabber, news, rss, slixmpp, syndication, xmpp
|
||||
.. category: news
|
||||
.. link: 2024-05-23-xmpp-news-bots
|
||||
.. link: xmpp-news-bots
|
||||
.. description: This is a selection of news chat bots for the XMPP network which you might be interested at.
|
||||
.. type: text
|
||||
|
||||
|
@ -18,55 +18,47 @@ AtomToPubsub
|
|||
|
||||
AtomToPubsub is a simple script that parses feeds and pushes the entries to a designated XMPP Pubsub Node.
|
||||
|
||||
`edhelas/atomtopubsub <https://github.com/edhelas/atomtopubsub>`_
|
||||
Proceed to `edhelas/atomtopubsub <https://github.com/edhelas/atomtopubsub>`_
|
||||
|
||||
|
||||
err-rssreader
|
||||
-------------
|
||||
|
||||
A port of old Brutal's Feed Reader for Errbot.
|
||||
A port of old Brutal's Feed Reader for `Errbot <https://errbot.readthedocs.io/>`_.
|
||||
|
||||
`errbotters/err-rssreader <https://github.com/errbotters/err-rssreader>`_
|
||||
|
||||
`Errbot <https://errbot.readthedocs.io/>`_
|
||||
Proceed to `errbotters/err-rssreader <https://github.com/errbotters/err-rssreader>`_
|
||||
|
||||
feed-to-muc
|
||||
-----------
|
||||
|
||||
feed-to-muc is an XMPP bot which queries newsfeeds and posts the short summary to a XMPP MUC if there is a new article.
|
||||
|
||||
`mdosch/feed-to-muc <https://salsa.debian.org/mdosch/feed-to-muc>`_
|
||||
Proceed to `mdosch/feed-to-muc <https://salsa.debian.org/mdosch/feed-to-muc>`_
|
||||
|
||||
Jabber RSS Transport
|
||||
--------------------
|
||||
|
||||
Jabber RSS Transport offers a component interface which embodies feeds as contacts, which makes it highly efficient to any chat client.
|
||||
`Jabber RSS Transport <https://jabberworld.info/Jabber_RSS_Transport>`_ offers a `component <https://xmpp.org/extensions/xep-0114.html>`_ interface which embodies feeds as contacts, which makes it highly efficient to any chat client.
|
||||
|
||||
`jabberworld/jrd_rss <https://github.com/jabberworld/jrd_rss>`_
|
||||
|
||||
`Jabber RSS Transport <https://jabberworld.info/Jabber_RSS_Transport>`_
|
||||
|
||||
`XEP-0114: Jabber Component Protocol <https://xmpp.org/extensions/xep-0114.html>`_
|
||||
Proceed to `jabberworld/jrd_rss <https://github.com/jabberworld/jrd_rss>`_
|
||||
|
||||
JabRSS by Christof
|
||||
------------------
|
||||
|
||||
A simple syndication headline notification service for Jabber/XMPP.
|
||||
|
||||
`dev.cmeerw.org <https://dev.cmeerw.org/Projects/jabrss>`_
|
||||
|
||||
`Documentation <https://dev.cmeerw.org/jabrss/Documentation>`_
|
||||
Proceed to `dev.cmeerw.org <https://dev.cmeerw.org/Projects/jabrss>`_
|
||||
|
||||
JabRSS by Jens W. Wulf
|
||||
----------------------
|
||||
|
||||
The code is based on JabRSS from Christof. It was restructured and offers additional features.
|
||||
The code is based on `jabrss@cmeerw.net <https://dev.cmeerw.org/jabrss/Documentation>`_. It was restructured and offers additional features.
|
||||
|
||||
`jotwewe.de <http://www.jotwewe.de/de/xmpp/jabrss/jabrss_en.htm>`_
|
||||
Proceed to `jotwewe.de <http://www.jotwewe.de/de/xmpp/jabrss/jabrss_en.htm>`_
|
||||
|
||||
Morbot
|
||||
------
|
||||
|
||||
Morbo is a simple Slixmpp bot that will take new articles from listed syndication feeds and send them to assigned XMPP MUCs. This bot works best with TinyTinyRSS published articles feeds.
|
||||
|
||||
`TheCoffeMaker/Morbot <https://codeberg.org/TheCoffeMaker/Morbot>`_
|
||||
Proceed to `TheCoffeMaker/Morbot <https://codeberg.org/TheCoffeMaker/Morbot>`_
|
Loading…
Reference in a new issue