Add Custom Feeds To Your Site

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.

<link rel="alternate" type="application/atom+xml" title="Set a title (Atom)" href="https://path/to/file.atom">

JSON Feed

Lesser recommended.

<link rel="alternate" type="application/json" title="Set a title (JSON)" href="https://path/to/file.json">

RDF

When applicable.

<link rel="alternate" type="application/rdf+xml" title="Set a title (RDF)" href="https://path/to/file.rdf">

RSS

Least recommended.

<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

Background Software As A Routine

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, 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 is built upon.

Qt toolkit

It has already happened in the past, with other prominent projects such as LXDE which has later formed into LXQt and Wiresark 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 and Speeue are both based on the Python module xmpppy; 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) 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), 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

Contacts Are In Roster And Also In Address Book

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.

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), 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

XEP-0108: Contact Activity

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, who is guiding my efforts towards a new introduction and publishing system for XMPP (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.

And others...

XMPP News Bots

From Argentina to Germany; syndication chat bots for XMPP.

Slixfeed might not be useful to you as other news bots, as each project is formed namely by peculiar design and political principles.

You are encouraged to review the following projects and pick the one that fits best to you.

AtomToPubsub

AtomToPubsub is a simple script that parses feeds and pushes the entries to a designated XMPP Pubsub Node.

edhelas/atomtopubsub

err-rssreader

A port of old Brutal's Feed Reader for Errbot.

errbotters/err-rssreader

Errbot

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

Jabber RSS Transport

Jabber RSS Transport offers a component interface which embodies feeds as contacts, which makes it highly efficient to any chat client.

jabberworld/jrd_rss

Jabber RSS Transport

XEP-0114: Jabber Component Protocol

JabRSS by Christof

A simple syndication headline notification service for Jabber/XMPP.

dev.cmeerw.org

Documentation

JabRSS by Jens W. Wulf

The code is based on JabRSS from Christof. It was restructured and offers additional features.

jotwewe.de

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

Slixfeed News Bot

Greetings to one and all and welcome to the official news resource of Slixfeed!

I am delighted to make this initial public announcement of Slixfeed.

Slixfeed is a news aggregation software which currently functions only as a chat bot and is primarily intended for the XMPP network.

Slixfeed is still in testing phases and is not yet ready for production, albeit it performs well.

Slixfeed has not yet been audited for security!

Design

Slixfeed utilizes Slixmpp to communicate with the XMPP network, and feedparser to parse syndication feeds.

The fashion by which Slixfeed is designed is to serve multiple people at the same time.

The purpose of Slixfeed is to be able to simultaneously serve hundreds and even thousands of people from a single instance, which would make anyone a news publisher, if one so desires.

Features

Some features are exclusive to XMPP [1].

  1. Communicate with chats and groupchats;

  2. Display audio, picture and video attachments inline;

  3. Export and import feeds using standard OPML file;

  4. Filter news items by "allow" and "deny" rules;

  5. Publish items to PubSub nodes [2];

  6. Redirect to proxy back-ends [3];

  7. Rich and interactive visual interface using Ad-Hoc Commands;

  8. Scan automatically for syndication feeds of given URL;

  9. Schedule update cycle and send updates upon availability [4].

Interfaces

Slixfeed offers a couple of interfaces.

The premier interface is the chat, from which commands are sent and news are received.

The additional interface which makes use of Data Forms and Ad-Hoc Commands offers a visual interface to control and interact with Slixfeed.

The visual interface is currently best accessible with Cheogram and monocles chat; both are available free of charge on the F-Droid software repository.

Other XMPP clients which support the visual interface are Converse, Gajim, Movim, Poezio, Profanity, Psi and Psi+.

Preview

Screenshots of Cheogram and monocles chat interacting with Slixfeed [5].

monocles chat: Chat Interface monocles chat: Rich Interface Cheogram: Settings Form Cheogram: Subscription Form

Both, Ad-Hoc Command and Chat, interfaces are included.

Resources

  • For help, and support questions, please join our groupchat.

  • Source code is available at GitGud.

Conclusion

Slixfeed was made due to necessity and it has been intended to be hosted and utilized by as many people as possible.

Slixfeed was meant to be only a chat bot which sends only text, yet communications with edhelas, mirux, roughnecks, singpolyma and Thorsten have led this project to have an extensive set of features.

The Slixfeed project was started a year and eleven months ago, and its continuation and completion thereof were feasible thanks to Laura Lapina.

I would also want to thank to Simone "roughnecks" Canaletti for hosting the Slixfeed site, in addition to testing Slixfeed and instructing the current development of Slixfeed.

Consequent development news will be published soon.

I hope Slixfeed would be useful to you.

Kind regards,
Schimon