From 9a7e720e7e33ac05f0d8088c6a594a833334c04f Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <info@fabiomanganiello.com>
Date: Mon, 19 Sep 2022 08:48:39 +0200
Subject: [PATCH 01/18] wip (almost done)

---
 img/music-automation.png                   | Bin 0 -> 193546 bytes
 markdown/Automate-your-music-collection.md | 957 +++++++++++++++++++++
 2 files changed, 957 insertions(+)
 create mode 100644 img/music-automation.png
 create mode 100644 markdown/Automate-your-music-collection.md

diff --git a/img/music-automation.png b/img/music-automation.png
new file mode 100644
index 0000000000000000000000000000000000000000..36be4194b7e59a0fe39181cffc30c54f8f164d58
GIT binary patch
literal 193546
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%0Db#xbpi!yETT%b(4-PX%_2CzY}+I^||=(
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%0AKudPDvkNobcy=R$7y0|Cy$gG&OBYk
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%0A)$?fNKxoHyTTsL*~bEo4rN|&9vwEVW{
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

literal 0
HcmV?d00001

diff --git a/markdown/Automate-your-music-collection.md b/markdown/Automate-your-music-collection.md
new file mode 100644
index 0000000..591e0ad
--- /dev/null
+++ b/markdown/Automate-your-music-collection.md
@@ -0,0 +1,957 @@
+[//]: # (title: Automate your music collection)
+[//]: # (description: Use Platypush to manage your music activity, discovery playlists and be on top of new releases.)
+[//]: # (image: /img/music-automation.png)
+[//]: # (author: Fabio Manganiello <fabio@platypush.tech>)
+[//]: # (published: 2022-09-18)
+
+I have been an enthusiastic user of mpd and mopidy for nearly two decades. I
+have already [written an
+article](https://blog.platypush.tech/article/Build-your-open-source-multi-room-and-multi-provider-sound-server-with-Platypush-Mopidy-and-Snapcast)
+on how to leverage mopidy (with its tons of integrations, including Spotify,
+Tidal, YouTube, Bandcamp, Plex, TuneIn, SoundCloud etc.), Snapcast (with its
+multi-room listening experience out of the box) and Platypush (with its
+automation hooks that allow you to easily create if-this-then-that rules for
+your music events) to take your listening experience to the next level, while
+using open protocols and easily extensible open-source software.
+
+There is a feature that I haven't yet covered in my previous articles, and
+that's the automation of your music collection.
+
+Spotify, Tidal and other music streaming services offer you features such as a
+_Discovery Weekly_ or _Release Radar_ playlists, respectively filled with
+tracks that you may like, or newly released tracks that you may be interested
+in.
+
+The problem is that these services come with heavy trade-offs:
+
+1. Their algorithms are closed. You don't know how Spotify figures out which
+   songs should be picked in your smart playlists. In the past months, Spotify
+   would often suggest me tracks from the same artists that I had already
+   listened to or skipped in the past, and there's no easy way to tell the
+   algorithm "hey, actually I'd like you to suggest me more this kind of music -
+   or maybe calculate suggestions only based on the music I've listened to in
+   this time range".
+
+2. Those features are tightly coupled with the service you use. If you cancel
+   your Spotify subscription, you lose those smart features as well.
+   Companies like Spotify use such features as a lock-in mechanism -
+   "you can check out any time you like, but if you do then nobody else will
+   provide you with our clever suggestions".
+
+After migrating from Spotify to Tidal in the past couple of months (TL;DR:
+Spotify f*cked up their developer experience multiple times over the past
+decade, and their killing of libspotify without providing any alternatives was
+the last nail in the coffin for me) I felt like missing their smart mixes,
+discovery and new releases playlists - and, on the other hand, Tidal took a
+while to learn my listening habits, and even when it did it often generated
+smart playlists that were an inch below Spotify's. I asked myself why on earth
+my music discovery experience should be so tightly coupled to one single cloud
+service. And I decided that the time had come for me to automatically generate
+my service-agnostic music suggestions: it's not rocket science anymore, there's
+plenty of services that you can piggyback on to get artist or tracks similar to
+some music given as input, and there's just no excuses to feel locked in by
+Spotify, Google, Tidal or some other cloud music provider.
+
+In this article we'll cover how to:
+
+1. Use Platypush to automatically keep track of the music you listen to from
+   any of your devices;
+2. Calculate the suggested tracks that may be similar to the music you've
+   recently listen to by using the Last.FM API;
+3. Generate a _Discover Weekly_ playlist similar to Spotify's without relying
+   on Spotify;
+4. Get the newly released albums and single by subscribing to an RSS feed;
+5. Generate a weekly playlist with the new releases by filtering those from
+   artists that you've listened to at least once.
+
+## Ingredients
+
+We will use Platypush to handle the following features:
+
+1. Store our listening history to a local database, or synchronize it with a
+   scrobbling service like [last.fm](https://last.fm).
+2. Periodically inspect our newly listened tracks, and use the last.fm API to
+   retrieve similar tracks.
+3. Generate a discover weekly playlist based on a simple score that ranks
+   suggestions by match score against the tracks listened on a certain period
+   of time, and increases the weight of suggestions that occur multiple times.
+4. Monitor new releases from the newalbumreleases.net RSS feed, and create a
+   weekly _Release Radar_ playlist containing the items from artists that we
+   have listened to at least once.
+
+This tutorial will require:
+
+1. A database to store your listening history and suggestions. The database
+   initialization script has been tested against Postgres, but it should be
+   easy to adapt it to MySQL or SQLite with some minimal modifications.
+2. A machine (it can be a RaspberryPi, a home server, a VPS, an unused tablet
+   etc.) to run the Platypush automation.
+3. A Spotify or Tidal account. The reported examples will generate the
+   playlists on a Tidal account by using the `music.tidal` Platypush plugin,
+   but it should be straightforward to adapt them to Spotify by using the
+   `music.spotify` plugin, or even to YouTube by using the YouTube API, or even
+   to local M3U playlists.
+
+## Setting up the software
+
+Start by installing Platypush with the
+[Tidal](https://docs.platypush.tech/platypush/plugins/music.tidal.html),
+[RSS](https://docs.platypush.tech/platypush/plugins/rss.html) and
+[Last.fm](https://docs.platypush.tech/platypush/plugins/lastfm.html)
+integrations:
+
+```
+[sudo] pip install 'platypush[tidal,rss,lastfm]'
+```
+
+If you want to use Spotify instead of Tidal then just remove `tidal` from the
+list of extra dependencies - no extra dependencies are required for the
+[Spotify
+plugin](https://docs.platypush.tech/platypush/plugins/music.spotify.html).
+
+If you are planning to listen to music through mpd/mopidy, then you may also
+want to include `mpd` in the list of extra dependencies, so Platypush can
+directly monitor your listening activity over the MPD protocol.
+
+Let's then configure a simple configuration under `~/.config/platypush/config.yaml`:
+
+```yaml
+music.tidal:
+  # No configuration required
+
+# Or, if you use Spotify, create an app at https://developer.spotify.com and
+# add its credentials here
+# music.spotify:
+#   client_id: client_id
+#   client_secret: client_secret
+
+lastfm:
+  api_key: your_api_key
+  api_secret: your_api_secret
+  username: your_user
+  password: your_password
+
+# Subscribe to updates from newalbumreleases.net
+rss:
+  subscriptions:
+    - https://newalbumreleases.net/category/cat/feed/
+
+# Optional, used to send notifications about generation issues to your
+# mobile/browser. You can also use Pushbullet, an email plugin or a chatbot if
+# you prefer.
+ntfy:
+  # No configuration required if you want to use the default server at
+  # https://ntfy.sh
+
+# Include the mpd plugin and backend if you are listening to music over
+# mpd/mopidy
+music.mpd:
+  host: localhost
+  port: 6600
+
+backend.music.mopidy:
+  host: localhost
+  port: 6600
+```
+
+Start Platypush by running the `platypush` command. The first time it should
+prompt you with a tidal.com link required to authenticate your user. Open it in
+your browser and authorize the app - the next runs should no longer ask you to
+authenticate.
+
+Once the Platypush dependencies are in place, let's move to configure the
+database.
+
+## Database configuration
+
+I'll assume that you have a Postgres database running somewhere, but the script
+below can be easily adapted also to other DBMS's.
+
+Database initialization script (download/pastebin link is
+[here](https://paste.fabiomanganiello.com/blacklight/music.sql)):
+
+```sql
+-- New listened tracks will be pushed to the tmp_music table, and normalized by
+-- a trigger.
+drop table if exists tmp_music cascade;
+create table tmp_music(
+    id          serial not null,
+    artist      varchar(255) not null,
+    title       varchar(255) not null,
+    album       varchar(255),
+    created_at  timestamp with time zone default CURRENT_TIMESTAMP,
+    primary key(id)
+);
+
+-- This table will store the tracks' info
+drop table if exists music_track cascade;
+create table music_track(
+    id          serial not null,
+    artist      varchar(255) not null,
+    title       varchar(255) not null,
+    album       varchar(255),
+    created_at  timestamp with time zone default CURRENT_TIMESTAMP,
+    primary key(id),
+    unique(artist, title)
+);
+
+-- Create an index on (artist, title), and ensure that the (artist, title) pair
+-- is unique
+create unique index track_artist_title_idx on music_track(lower(artist), lower(title));
+create index track_artist_idx on music_track(lower(artist));
+
+-- music_activity holds the listen history
+drop table if exists music_activity cascade;
+create table music_activity(
+    id          serial not null,
+    track_id    int not null,
+    created_at  timestamp with time zone default CURRENT_TIMESTAMP,
+    primary key(id)
+);
+
+-- music_similar keeps track of the similar tracks
+drop table if exists music_similar cascade;
+create table music_similar(
+    source_track_id   int not null,
+    target_track_id   int not null,
+    match_score       float not null,
+    primary key(source_track_id, target_track_id),
+    foreign key(source_track_id) references music_track(id),
+    foreign key(target_track_id) references music_track(id)
+);
+
+-- music_discovery_playlist keeps track of the generated discovery playlists
+drop table if exists music_discovery_playlist cascade;
+create table music_discovery_playlist(
+    id          serial not null,
+    name        varchar(255),
+    created_at  timestamp with time zone default CURRENT_TIMESTAMP,
+    primary key(id)
+);
+
+-- This table contains the track included in each discovery playlist
+drop table if exists music_discovery_playlist_track cascade;
+create table music_discovery_playlist_track(
+    id            serial not null,
+    playlist_id   int not null,
+    track_id      int not null,
+    primary key(id),
+    unique(playlist_id, track_id),
+    foreign key(playlist_id) references music_discovery_playlist(id),
+    foreign key(track_id) references music_track(id)
+);
+
+-- This trigger normalizes the tracks inserted into tmp_track
+create or replace function sync_music_data()
+    returns trigger as
+$$
+declare
+    track_id int;
+begin
+    insert into music_track(artist, title, album)
+        values(new.artist, new.title, new.album)
+    on conflict(artist, title) do update
+        set album = coalesce(excluded.album, old.album)
+    returning id into track_id;
+
+    insert into music_activity(track_id, created_at)
+        values (track_id, new.created_at);
+
+    delete from tmp_music where id = new.id;
+    return new;
+end;
+$$
+language 'plpgsql';
+
+drop trigger if exists on_sync_music on tmp_music;
+create trigger on_sync_music
+    after insert on tmp_music
+    for each row
+    execute procedure sync_music_data();
+
+-- (Optional) accessory view to easily peek the listened tracks
+drop view if exists vmusic;
+create view vmusic as
+select t.id as track_id
+     , t.artist
+     , t.title
+     , t.album
+     , a.created_at
+from music_track t
+join music_activity a
+on t.id = a.track_id;
+```
+
+Run the script on your database - if everything went smooth then all the tables
+should be successfully created.
+
+## Synchronizing your music activity
+
+Now that all the dependencies are in place, it's time to configure the logic to
+store your music activity to your database.
+
+If most of your music activity happens through mpd/mopidy, then storing your
+activity to the database is as simple as creating a hook on a
+[`NewPlayingTrackEvent`](https://docs.platypush.tech/platypush/events/music.html)
+that inserts any newly playing track on `tmp_music`. Paste the following
+content to a new Platypush user script (e.g.
+`~/.config/platypush/scripts/music/sync.py`):
+
+```python
+# ~/.config/platypush/scripts/music/sync.py
+
+from logging import getLogger
+
+from platypush.context import get_plugin
+from platypush.event.hook import hook
+from platypush.message.event.music import NewPlayingTrackEvent
+
+logger = getLogger('music_sync')
+
+# SQLAlchemy connection string that points to your database
+music_db_engine = 'postgresql+pg8000://dbuser:dbpass@dbhost/dbname'
+
+
+# Hook that react to NewPlayingTrackEvent events
+@hook(NewPlayingTrackEvent)
+def on_new_track_playing(event, **_):
+    track = event.track
+
+    # Skip if the track has no artist/title specified
+    if not (track.get('artist') and track.get('title')):
+        return
+
+    logger.info(
+        'Inserting track: %s - %s',
+        track['artist'], track['title']
+    )
+
+    db = get_plugin('db')
+    db.insert(
+        engine=music_db_engine,
+        table='tmp_music',
+        records=[
+            {
+                'artist': track['artist'],
+                'title': track['title'],
+                'album': track.get('album'),
+            }
+            for track in tracks
+        ]
+    )
+```
+
+Alternatively, if you also want to sync music activities that happens through
+other clients (such as the Spotify/Tidal app or web view, or over mobile
+devices), you may consider leveraging Last.fm. Last.fm (or its open alternative
+Libre.fm) are _scrobbling_ websites that are compatible with most of the music
+players out there. Both Spotify and Tidal support scrobbling, the [Android
+app](https://apkpure.com/last-fm/fm.last.android) can grab any music activity
+on your phone and scrobble, and there are even [browser
+extensions](https://chrome.google.com/webstore/detail/web-scrobbler/hhinaapppaileiechjoiifaancjggfjm?hl=en)
+that allow you to record any music activity from any browser tab.
+
+So an alternative approach may be to send both your mpd/mopidy music activity,
+as well as your in-browser or mobile music activity, to last.fm / libre.fm. The
+corresponding hook would be:
+
+```python
+# ~/.config/platypush/scripts/music/sync.py
+
+from logging import getLogger
+
+from platypush.context import get_plugin
+from platypush.event.hook import hook
+from platypush.message.event.music import NewPlayingTrackEvent
+
+logger = getLogger('music_sync')
+
+
+# Hook that react to NewPlayingTrackEvent events
+@hook(NewPlayingTrackEvent)
+def on_new_track_playing(event, **_):
+    track = event.track
+
+    # Skip if the track has no artist/title specified
+    if not (track.get('artist') and track.get('title')):
+        return
+
+    lastfm = get_plugin('lastfm')
+    logger.info(
+        'Scrobbling track: %s - %s',
+        track['artist'], track['title']
+    )
+
+    lastfm.scrobble(
+        artist=track['artist'],
+        title=track['title'],
+        album=track.get('album'),
+    )
+```
+
+If you go for the scrobbling way, then you may want to periodically synchronize
+your scrobble history to your local database - for example, through a cron that
+runs every 30 seconds:
+
+```python
+# ~/.config/platypush/scripts/music/scrobble2db.py
+
+import logging
+
+from datetime import datetime
+
+from platypush.context import get_plugin, Variable
+from platypush.cron import cron
+
+logger = logging.getLogger('music_sync')
+music_db_engine = 'postgresql+pg8000://dbuser:dbpass@dbhost/dbname'
+
+# Use this stored variable to keep track of the time of the latest
+# synchronized scrobble
+last_timestamp_var = Variable('LAST_SCROBBLED_TIMESTAMP')
+
+
+# This cron executes every 30 seconds
+@cron('* * * * * */30')
+def sync_scrobbled_tracks(**_):
+    db = get_plugin('db')
+    lastfm = get_plugin('lastfm')
+
+    # Use the last.fm plugin to retrieve all the new tracks scrobbled since
+    # the last check
+    last_timestamp = int(last_timestamp_var.get() or 0)
+    tracks = [
+        track for track in lastfm.get_recent_tracks().output
+        if track.get('timestamp', 0) > last_timestamp
+    ]
+
+    # Exit if we have no new music activity
+    if not tracks:
+        return
+
+    # Insert the new tracks on the database
+    db.insert(
+        engine=music_db_engine,
+        table='tmp_music',
+        records=[
+            {
+                'artist': track.get('artist'),
+                'title': track.get('title'),
+                'album': track.get('album'),
+                'created_at': (
+                    datetime.fromtimestamp(track['timestamp'])
+                    if track.get('timestamp') else None
+                ),
+            }
+            for track in tracks
+        ]
+    )
+
+    # Update the LAST_SCROBBLED_TIMESTAMP variable with the timestamp of the
+    # most recent played track
+    last_timestamp_var.set(max(
+        int(t.get('timestamp', 0))
+        for t in tracks
+    ))
+
+    logger.info('Stored %d new scrobbled track(s)', len(tracks))
+```
+
+This cron will basically synchronize your scrobbling history to your local
+database, so we can use the local database as the source of truth for the next
+steps - no matter where the music was played from.
+
+To test the logic, simply restart Platypush, play some music from your
+favourite player(s), and check that everything gets inserted on the database -
+even if we are inserting tracks on the `tmp_music` table, the listening history
+should be automatically normalized on the appropriate tables by the triggered
+that we created at initialization time.
+
+## Updating the suggestions
+
+Now that all the plumbing to get all of your listening history in one data
+source is in place, let's move to the logic that recalculates the suggestions
+based on your listening history.
+
+We will again use the last.fm API to get tracks that are similar to those we
+listened to recently - I personally find last.fm suggestions often more
+relevant than those of Spotify's.
+
+For sake of simplicity, let's map the database tables to some SQLAlchemy ORM
+classes, so the upcoming SQL interactions can be notably simplified. The ORM
+model can be stored under e.g. `~/.config/platypush/music/db.py`:
+
+```python
+# ~/.config/platypush/scripts/music/db.py
+
+from sqlalchemy import create_engine
+from sqlalchemy.ext.automap import automap_base
+from sqlalchemy.orm import sessionmaker, scoped_session
+
+music_db_engine = 'postgresql+pg8000://dbuser:dbpass@dbhost/dbname'
+engine = create_engine(music_db_engine)
+
+Base = automap_base()
+Base.prepare(engine, reflect=True)
+Track = Base.classes.music_track
+TrackActivity = Base.classes.music_activity
+TrackSimilar = Base.classes.music_similar
+DiscoveryPlaylist = Base.classes.music_discovery_playlist
+DiscoveryPlaylistTrack = Base.classes.music_discovery_playlist_track
+
+
+def get_db_session():
+    session = scoped_session(sessionmaker(expire_on_commit=False))
+    session.configure(bind=engine)
+    return session()
+```
+
+Then create a new user script under e.g.
+`~/.config/platypush/scripts/music/suggestions.py` with the following content:
+
+```python
+# ~/.config/platypush/scripts/music/suggestions.py
+
+import logging
+
+from sqlalchemy import tuple_
+from sqlalchemy.dialects.postgresql import insert
+from sqlalchemy.sql.expression import bindparam
+
+from platypush.context import get_plugin, Variable
+from platypush.cron import cron
+
+from scripts.music.db import (
+    get_db_session, Track, TrackActivity, TrackSimilar
+)
+
+
+logger = logging.getLogger('music_suggestions')
+
+# This stored variable will keep track of the latest activity ID for which the
+# suggestions were calculated
+last_activity_id_var = Variable('LAST_PROCESSED_ACTIVITY_ID')
+
+
+# A cronjob that runs every 5 minutes and updates the suggestions
+@cron('*/5 * * * *')
+def refresh_similar_tracks(**_):
+    last_activity_id = int(last_activity_id_var.get() or 0)
+
+    # Retrieve all the tracks played since the latest synchronized activity ID
+    # that don't have any similar tracks being calculated yet
+    with get_db_session() as session:
+        recent_tracks_without_similars = \
+            _get_recent_tracks_without_similars(last_activity_id)
+
+    try:
+        if not recent_tracks_without_similars:
+            raise StopIteration(
+                'All the recent tracks have processed suggestions')
+
+        # Get the last activity_id
+        batch_size = 10
+        last_activity_id = (
+            recent_tracks_without_similars[:batch_size][-1]['activity_id'])
+
+        logger.info(
+            'Processing suggestions for %d/%d tracks',
+            min(batch_size, len(recent_tracks_without_similars)),
+            len(recent_tracks_without_similars))
+
+        # Build the track_id -> [similar_tracks] map
+        similars_by_track = {
+            track['track_id']: _get_similar_tracks(track['artist'], track['title'])
+            for track in recent_tracks_without_similars[:batch_size]
+        }
+
+        # Map all the similar tracks in an (artist, title) -> info data structure
+        similar_tracks_by_artist_and_title = \
+            _get_similar_tracks_by_artist_and_title(similars_by_track)
+
+        if not similar_tracks_by_artist_and_title:
+            raise StopIteration('No new suggestions to process')
+
+        # Sync all the new similar tracks to the database
+        similar_tracks = \
+            _sync_missing_similar_tracks(similar_tracks_by_artist_and_title)
+
+        # Link listened tracks to similar tracks
+        with get_db_session() as session:
+            stmt = insert(TrackSimilar).values({
+                'source_track_id': bindparam('source_track_id'),
+                'target_track_id': bindparam('target_track_id'),
+                'match_score': bindparam('match_score'),
+            }).on_conflict_do_nothing()
+
+            session.execute(
+                stmt, [
+                    {
+                        'source_track_id': track_id,
+                        'target_track_id': similar_tracks[(similar['artist'], similar['title'])].id,
+                        'match_score': similar['score'],
+                    }
+                    for track_id, similars in similars_by_track.items()
+                    for similar in (similars or [])
+                    if (similar['artist'], similar['title'])
+                    in similar_tracks
+                ]
+            )
+
+            session.flush()
+            session.commit()
+    except StopIteration as e:
+        logger.info(e)
+
+    last_activity_id_var.set(last_activity_id)
+    logger.info('Suggestions updated')
+
+
+def _get_similar_tracks(artist, title):
+    """
+    Use the last.fm API to retrieve the tracks similar to a given
+    artist/title pair
+    """
+    import pylast
+    lastfm = get_plugin('lastfm')
+
+    try:
+        return lastfm.get_similar_tracks(
+            artist=artist,
+            title=title,
+            limit=10,
+        )
+    except pylast.PyLastError as e:
+        logger.warning(
+            'Could not find tracks similar to %s - %s: %s',
+            artist, title, e
+        )
+
+
+def _get_recent_tracks_without_similars(last_activity_id):
+    """
+    Get all the tracks played after a certain activity ID that don't have
+    any suggestions yet.
+    """
+    with get_db_session() as session:
+        return [
+            {
+                'track_id': t[0],
+                'artist': t[1],
+                'title': t[2],
+                'activity_id': t[3],
+            }
+            for t in session.query(
+                Track.id.label('track_id'),
+                Track.artist,
+                Track.title,
+                TrackActivity.id.label('activity_id'),
+            )
+            .select_from(
+                Track.__table__
+                .join(
+                    TrackSimilar,
+                    Track.id == TrackSimilar.source_track_id,
+                    isouter=True
+                )
+                .join(
+                    TrackActivity,
+                    Track.id == TrackActivity.track_id
+                )
+            )
+            .filter(
+                TrackSimilar.source_track_id.is_(None),
+                TrackActivity.id > last_activity_id
+            )
+            .order_by(TrackActivity.id)
+            .all()
+        ]
+
+
+def _get_similar_tracks_by_artist_and_title(similars_by_track):
+    """
+    Map similar tracks into an (artist, title) -> track dictionary
+    """
+    similar_tracks_by_artist_and_title = {}
+    for similar in similars_by_track.values():
+        for track in (similar or []):
+            similar_tracks_by_artist_and_title[
+                (track['artist'], track['title'])
+            ] = track
+
+    return similar_tracks_by_artist_and_title
+
+
+def _sync_missing_similar_tracks(similar_tracks_by_artist_and_title):
+    """
+    Flush newly calculated similar tracks to the database.
+    """
+    logger.info('Syncing missing similar tracks')
+    with get_db_session() as session:
+        stmt = insert(Track).values({
+            'artist': bindparam('artist'),
+            'title': bindparam('title'),
+        }).on_conflict_do_nothing()
+
+        session.execute(stmt, list(similar_tracks_by_artist_and_title.values()))
+        session.flush()
+        session.commit()
+
+        tracks = session.query(Track).filter(
+            tuple_(Track.artist, Track.title).in_(
+                similar_tracks_by_artist_and_title
+            )
+        ).all()
+
+        return {
+            (track.artist, track.title): track
+            for track in tracks
+        }
+```
+
+Restart Platypush and let it run for a bit. The cron will operate in batches of
+10 items each (it can be easily customized), so after a few minutes your
+`music_suggestions` table should start getting populated.
+
+## Generating the discovery playlist
+
+So far we have achieved the following targets:
+
+- We have a piece of logic that synchronizes all of our listening history to a
+  local database.
+- We have a way to synchronize last.fm / libre.fm scrobbles to the same
+  database as well.
+- We have a cronjob that periodically scans our listening history and fetches
+  the suggestions through the last.fm API.
+
+Now let's put it all together with a cron that runs every week (or daily, or at
+whatever interval we like) that does the following:
+
+- It retrieves our listening history over the specified period.
+- It retrieves the suggested tracks associated to our listening history.
+- It excludes the tracks that we've already listened to, or that have already
+  been included in previous discovery playlists.
+- It generates a new discovery playlist with those tracks, ranked according to
+  a simple score:
+
+$$
+\rho_i = \sum_{j \in L_i} m_{ij}
+$$
+
+Where \( \rho_i \) is the ranking of the suggested _i_-th suggested track, \(
+L_i \) is the set of listened tracks that have the _i_-th track among its
+similarities, and \( m_{ij} \) is the match score between _i_ and _j_ as
+reported by the last.fm API.
+
+Let's put all these pieces together in a cron defined in e.g.
+`~/.config/platypush/scripts/music/discovery.py`:
+
+```python
+# ~/.config/platypush/scripts/music/discovery.py
+
+import logging
+from datetime import date, timedelta
+
+from platypush.context import get_plugin
+from platypush.cron import cron
+
+from scripts.music.db import (
+    get_db_session, Track, TrackActivity, TrackSimilar,
+    DiscoveryPlaylist, DiscoveryPlaylistTrack
+)
+
+logger = logging.getLogger('music_discovery')
+
+
+def get_suggested_tracks(days=7, limit=25):
+    """
+    Retrieve the suggested tracks from the database.
+
+    :param days: Look back at the listen history for the past <n> days
+        (default: 7).
+    :param limit: Maximum number of track in the discovery playlist
+        (default: 25).
+    """
+    from sqlalchemy import func
+
+    listened_activity = TrackActivity.__table__.alias('listened_activity')
+    suggested_activity = TrackActivity.__table__.alias('suggested_activity')
+
+    with get_db_session() as session:
+        return [
+            {
+                'track_id': t[0],
+                'artist': t[1],
+                'title': t[2],
+                'score': t[3],
+            }
+            for t in session.query(
+                Track.id,
+                func.min(Track.artist),
+                func.min(Track.title),
+                func.sum(TrackSimilar.match_score).label('score'),
+            )
+            .select_from(
+                Track.__table__
+                .join(
+                    TrackSimilar.__table__,
+                    Track.id == TrackSimilar.target_track_id
+                )
+                .join(
+                    listened_activity,
+                    listened_activity.c.track_id == TrackSimilar.source_track_id,
+                )
+                .join(
+                    suggested_activity,
+                    suggested_activity.c.track_id == TrackSimilar.target_track_id,
+                    isouter=True
+                )
+                .join(
+                    DiscoveryPlaylistTrack,
+                    Track.id == DiscoveryPlaylistTrack.track_id,
+                    isouter=True
+                )
+            )
+            .filter(
+                # The track has not been listened
+                suggested_activity.c.track_id.is_(None),
+                # The track has not been suggested already
+                DiscoveryPlaylistTrack.track_id.is_(None),
+                # Filter by recent activity
+                listened_activity.c.created_at >= date.today() - timedelta(days=days)
+            )
+            .group_by(Track.id)
+            # Sort by aggregate match score
+            .order_by(func.sum(TrackSimilar.match_score).desc())
+            .limit(limit)
+            .all()
+        ]
+
+
+def search_remote_tracks(tracks):
+    """
+    Search for Tidal tracks given a list of suggested tracks.
+    """
+    # If you use Spotify instead of Tidal, simply replacing `music.tidal`
+    # with `music.spotify` here should suffice.
+    tidal = get_plugin('music.tidal')
+    found_tracks = []
+
+    for track in tracks:
+        query = track['artist'] + ' ' + track['title']
+        logger.info('Searching "%s"', query)
+        results = (
+            tidal.search(query, type='track', limit=1).output.get('tracks', [])
+        )
+
+        if results:
+            track['remote_track_id'] = results[0]['id']
+            found_tracks.append(track)
+        else:
+            logger.warning('Could not find "%s" on TIDAL', query)
+
+    return found_tracks
+
+
+def refresh_discover_weekly():
+    # If you use Spotify instead of Tidal, simply replacing `music.tidal`
+    # with `music.spotify` here should suffice.
+    tidal = get_plugin('music.tidal')
+
+    # Get the latest suggested tracks
+    suggestions = search_remote_tracks(get_suggested_tracks())
+    if not suggestions:
+        logger.info('No suggestions available')
+        return
+
+    # Retrieve the existing discovery playlists
+    # Our naming convention is that discovery playlist names start with
+    # "Discover Weekly" - feel free to change it
+    playlists = tidal.get_playlists().output
+    discover_playlists = sorted(
+        [
+            pl for pl in playlists
+            if pl['name'].lower().startswith('discover weekly')
+        ],
+        key=lambda pl: pl.get('created_at', 0)
+    )
+
+    # Delete all the existing discovery playlists
+    # (except the latest one). We basically keep two discovery playlists at the
+    # time in our collection, so you have two weeks to listen to them before they
+    # get deleted. Feel free to change this logic by modifying the -1 parameter
+    # with e.g. -2, -3 etc. if you want to store more discovery playlists.
+    for playlist in discover_playlists[:-1]:
+        logger.info('Deleting playlist "%s"', playlist['name'])
+        tidal.delete_playlist(playlist['id'])
+
+    # Create a new discovery playlist
+    playlist_name = f'Discover Weekly [{date.today().isoformat()}]'
+    pl = tidal.create_playlist(playlist_name).output
+    playlist_id = pl['id']
+
+    tidal.add_to_playlist(
+        playlist_id,
+        [t['remote_track_id'] for t in suggestions],
+    )
+
+    # Add the playlist to the database
+    with get_db_session() as session:
+        pl = DiscoveryPlaylist(name=playlist_name)
+        session.add(pl)
+        session.flush()
+        session.commit()
+
+    # Add the playlist entries to the database
+    with get_db_session() as session:
+        for track in suggestions:
+            session.add(
+                DiscoveryPlaylistTrack(
+                    playlist_id=pl.id,
+                    track_id=track['track_id'],
+                )
+            )
+
+        session.commit()
+
+    logger.info('Discover Weekly playlist updated')
+
+
+@cron('0 6 * * 1')
+def refresh_discover_weekly_cron(**_):
+    """
+    This cronjob runs every Monday at 6 AM.
+    """
+    try:
+        refresh_discover_weekly()
+    except Exception as e:
+        logger.exception(e)
+
+        # (Optional) If anything went wrong with the playlist generation, send
+        # a notification over ntfy
+        ntfy = get_plugin('ntfy')
+        ntfy.send_message(
+            topic='mirrored-notifications-topic',
+            title='Discover Weekly playlist generation failed',
+            message=str(e),
+            priority=4,
+        )
+```
+
+You can test the cronjob without having to wait for the next Monday through
+your Python interpreter:
+
+```python
+>>> import os
+>>>
+>>> # Move to the Platypush config directory
+>>> path = os.path.join(os.path.expanduser('~'), '.config', 'platypush')
+>>> os.chdir(path)
+>>>
+>>> # Import and run the cron function
+>>> from scripts.music.discovery import refresh_discover_weekly_cron
+>>> refresh_discover_weekly_cron()
+```
+
+If everything went well, you should soon see a new playlist in your collection
+named _Discover Weekly [date]_. Congratulations!

From 4c72748b9f594dcf13761aca548445890d746bcb Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <info@fabiomanganiello.com>
Date: Mon, 19 Sep 2022 15:39:18 +0200
Subject: [PATCH 02/18] wip

---
 markdown/Automate-your-music-collection.md | 45 ++++++++++++++++++++--
 1 file changed, 42 insertions(+), 3 deletions(-)

diff --git a/markdown/Automate-your-music-collection.md b/markdown/Automate-your-music-collection.md
index 591e0ad..7f6622d 100644
--- a/markdown/Automate-your-music-collection.md
+++ b/markdown/Automate-your-music-collection.md
@@ -2,7 +2,7 @@
 [//]: # (description: Use Platypush to manage your music activity, discovery playlists and be on top of new releases.)
 [//]: # (image: /img/music-automation.png)
 [//]: # (author: Fabio Manganiello <fabio@platypush.tech>)
-[//]: # (published: 2022-09-18)
+[//]: # (published: 2022-09-19)
 
 I have been an enthusiastic user of mpd and mopidy for nearly two decades. I
 have already [written an
@@ -167,8 +167,7 @@ database.
 I'll assume that you have a Postgres database running somewhere, but the script
 below can be easily adapted also to other DBMS's.
 
-Database initialization script (download/pastebin link is
-[here](https://paste.fabiomanganiello.com/blacklight/music.sql)):
+Database initialization script:
 
 ```sql
 -- New listened tracks will be pushed to the tmp_music table, and normalized by
@@ -241,6 +240,20 @@ create table music_discovery_playlist_track(
     foreign key(track_id) references music_track(id)
 );
 
+-- This table contains the new releases from artist that we've listened to at
+-- least once
+drop table if exists new_release cascade;
+create table new_release(
+    id serial not null,
+    artist varchar(255) not null,
+    album varchar(255) not null,
+    genre varchar(255),
+    created_at timestamp with time zone default CURRENT_TIMESTAMP,
+
+    primary key(id),
+    constraint u_artist_title unique(artist, album)
+);
+
 -- This trigger normalizes the tracks inserted into tmp_track
 create or replace function sync_music_data()
     returns trigger as
@@ -498,6 +511,7 @@ TrackActivity = Base.classes.music_activity
 TrackSimilar = Base.classes.music_similar
 DiscoveryPlaylist = Base.classes.music_discovery_playlist
 DiscoveryPlaylistTrack = Base.classes.music_discovery_playlist_track
+NewRelease = Base.classes.new_release
 
 
 def get_db_session():
@@ -955,3 +969,28 @@ your Python interpreter:
 
 If everything went well, you should soon see a new playlist in your collection
 named _Discover Weekly [date]_. Congratulations!
+
+## Release radar playlist
+
+Another great feature of Spotify and Tidal is the ability to provide "release
+radar" playlists that contain new releases from artists that we may like.
+
+We now have a powerful way of creating such playlists ourselves though. We
+previously configured Platypush to subscribe to the RSS feed from
+newalbumreleases.net. Populating our release radar playlist involves the
+following steps:
+
+1. Creating a hook that reacts to [`NewFeedEntryEvent`
+   events](https://docs.platypush.tech/platypush/events/rss.html) on this feed.
+2. The hook will store new releases that match artists in our collection on the
+   `new_release` table that we created when we initialized the database.
+3. A cron will scan this table on a weekly basis, search the tracks on
+   Spotify/Tidal, and populate our playlist just like we did for _Discover
+   Weekly_.
+
+Let's put these pieces together in a new user script stored under e.g.
+`~/.config/platypush/scripts/music/releases.py`:
+
+```python
+# ~/.config/platypush/scripts/music/releases.py
+```

From 4da14c54051c89c6d73418f2ec7cc8c7530fb55e Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <info@fabiomanganiello.com>
Date: Mon, 19 Sep 2022 21:57:45 +0200
Subject: [PATCH 03/18] Music automation article

---
 markdown/Automate-your-music-collection.md | 262 +++++++++++++++++++--
 1 file changed, 248 insertions(+), 14 deletions(-)

diff --git a/markdown/Automate-your-music-collection.md b/markdown/Automate-your-music-collection.md
index 7f6622d..3a54e80 100644
--- a/markdown/Automate-your-music-collection.md
+++ b/markdown/Automate-your-music-collection.md
@@ -3,6 +3,7 @@
 [//]: # (image: /img/music-automation.png)
 [//]: # (author: Fabio Manganiello <fabio@platypush.tech>)
 [//]: # (published: 2022-09-19)
+[//]: # (latex: 1)
 
 I have been an enthusiastic user of mpd and mopidy for nearly two decades. I
 have already [written an
@@ -27,16 +28,16 @@ The problem is that these services come with heavy trade-offs:
 1. Their algorithms are closed. You don't know how Spotify figures out which
    songs should be picked in your smart playlists. In the past months, Spotify
    would often suggest me tracks from the same artists that I had already
-   listened to or skipped in the past, and there's no easy way to tell the
-   algorithm "hey, actually I'd like you to suggest me more this kind of music -
-   or maybe calculate suggestions only based on the music I've listened to in
-   this time range".
+   listened to or skipped in the past, and there's no transparent way to tell
+   the algorithm "hey, actually I'd like you to suggest me more this kind of
+   music - or maybe calculate suggestions only based on the music I've listened
+   to in this time range, or maybe weigh this genre more".
 
 2. Those features are tightly coupled with the service you use. If you cancel
    your Spotify subscription, you lose those smart features as well.
    Companies like Spotify use such features as a lock-in mechanism -
-   "you can check out any time you like, but if you do then nobody else will
-   provide you with our clever suggestions".
+   you can check out any time you like, but if you do then nobody else will
+   provide you with their clever suggestions.
 
 After migrating from Spotify to Tidal in the past couple of months (TL;DR:
 Spotify f*cked up their developer experience multiple times over the past
@@ -199,7 +200,7 @@ create table music_track(
 create unique index track_artist_title_idx on music_track(lower(artist), lower(title));
 create index track_artist_idx on music_track(lower(artist));
 
--- music_activity holds the listen history
+-- music_activity holds the listened tracks
 drop table if exists music_activity cascade;
 create table music_activity(
     id          serial not null,
@@ -304,9 +305,10 @@ Now that all the dependencies are in place, it's time to configure the logic to
 store your music activity to your database.
 
 If most of your music activity happens through mpd/mopidy, then storing your
-activity to the database is as simple as creating a hook on a
-[`NewPlayingTrackEvent`](https://docs.platypush.tech/platypush/events/music.html)
-that inserts any newly playing track on `tmp_music`. Paste the following
+activity to the database is as simple as creating a hook on
+[`NewPlayingTrackEvent`
+events](https://docs.platypush.tech/platypush/events/music.html)
+that inserts any new played track on `tmp_music`. Paste the following
 content to a new Platypush user script (e.g.
 `~/.config/platypush/scripts/music/sync.py`):
 
@@ -354,15 +356,15 @@ def on_new_track_playing(event, **_):
     )
 ```
 
-Alternatively, if you also want to sync music activities that happens through
+Alternatively, if you also want to sync music activity that happens on
 other clients (such as the Spotify/Tidal app or web view, or over mobile
 devices), you may consider leveraging Last.fm. Last.fm (or its open alternative
-Libre.fm) are _scrobbling_ websites that are compatible with most of the music
+Libre.fm) is a _scrobbling_ service compatible with most of the music
 players out there. Both Spotify and Tidal support scrobbling, the [Android
 app](https://apkpure.com/last-fm/fm.last.android) can grab any music activity
-on your phone and scrobble, and there are even [browser
+on your phone and scrobble it, and there are even [browser
 extensions](https://chrome.google.com/webstore/detail/web-scrobbler/hhinaapppaileiechjoiifaancjggfjm?hl=en)
-that allow you to record any music activity from any browser tab.
+that allow you to keep track of any music activity from any browser tab.
 
 So an alternative approach may be to send both your mpd/mopidy music activity,
 as well as your in-browser or mobile music activity, to last.fm / libre.fm. The
@@ -993,4 +995,236 @@ Let's put these pieces together in a new user script stored under e.g.
 
 ```python
 # ~/.config/platypush/scripts/music/releases.py
+
+import html
+import logging
+import re
+import threading
+from datetime import date, timedelta
+from typing import Iterable, List
+
+from platypush.context import get_plugin
+from platypush.cron import cron
+from platypush.event.hook import hook
+from platypush.message.event.rss import NewFeedEntryEvent
+
+from scripts.music.db import (
+    music_db_engine, get_db_session, NewRelease
+)
+
+
+create_lock = threading.RLock()
+logger = logging.getLogger(__name__)
+
+
+def _split_html_lines(content: str) -> List[str]:
+    """
+    Utility method used to convert and split the HTML lines reported
+    by the RSS feed.
+    """
+    return [
+        l.strip()
+        for l in re.sub(
+            r'(</?p[^>]*>)|(<br\s*/?>)',
+            '\n',
+            content
+        ).split('\n') if l
+    ]
+
+
+def _get_summary_field(title: str, lines: Iterable[str]) -> str | None:
+    """
+    Parse the fields of a new album from the feed HTML summary.
+    """
+    for line in lines:
+        m = re.match(rf'^{title}:\s+(.*)$', line.strip(), re.IGNORECASE)
+        if m:
+            return html.unescape(m.group(1))
+
+
+@hook(NewFeedEntryEvent, feed_url='https://newalbumreleases.net/category/cat/feed/')
+def save_new_release(event: NewFeedEntryEvent, **_):
+    """
+    This hook is triggered whenever the newalbumreleases.net has new entries.
+    """
+    # Parse artist and album
+    summary = _split_html_lines(event.summary)
+    artist = _get_summary_field('artist', summary)
+    album = _get_summary_field('album', summary)
+    genre = _get_summary_field('style', summary)
+
+    if not (artist and album):
+        return
+
+    # Check if we have listened to this artist at least once
+    db = get_plugin('db')
+    num_plays = int(
+        db.select(
+            engine=music_db_engine,
+            query=
+            '''
+            select count(*)
+            from music_activity a
+            join music_track t
+            on a.track_id = t.id
+            where artist = :artist
+            ''',
+            data={'artist': artist},
+        ).output[0].get('count', 0)
+    )
+
+    # If not, skip it
+    if not num_plays:
+        return
+
+    # Insert the new release on the database
+    with create_lock:
+        db.insert(
+            engine=music_db_engine,
+            table='new_release',
+            records=[{
+                'artist': artist,
+                'album': album,
+                'genre': genre,
+            }],
+            key_columns=('artist', 'album'),
+            on_duplicate_update=True,
+        )
+
+
+def get_new_releases(days=7):
+    """
+    Retrieve the new album releases from the database.
+
+    :param days: Look at albums releases in the past <n> days
+        (default: 7)
+    """
+    with get_db_session() as session:
+        return [
+            {
+                'artist': t[0],
+                'album': t[1],
+            }
+            for t in session.query(
+                NewRelease.artist,
+                NewRelease.album,
+            )
+            .select_from(
+                NewRelease.__table__
+            )
+            .filter(
+                # Filter by recent activity
+                NewRelease.created_at >= date.today() - timedelta(days=days)
+            )
+            .all()
+        ]
+
+
+def search_tidal_new_releases(albums):
+    """
+    Search for Tidal albums given a list of objects with artist and title.
+    """
+    tidal = get_plugin('music.tidal')
+    expanded_tracks = []
+
+    for album in albums:
+        query = album['artist'] + ' ' + album['album']
+        logger.info('Searching "%s"', query)
+        results = (
+            tidal.search(query, type='album', limit=1)
+            .output.get('albums', [])
+        )
+
+        if results:
+            album = results[0]
+
+            # Skip search results older than a year - some new releases may
+            # actually be remasters/re-releases of existing albums
+            if date.today().year - album.get('year', 0) > 1:
+                continue
+
+            expanded_tracks += (
+                tidal.get_album(results[0]['id']).
+                output.get('tracks', [])
+            )
+        else:
+            logger.warning('Could not find "%s" on TIDAL', query)
+
+    return expanded_tracks
+
+
+def refresh_release_radar():
+    tidal = get_plugin('music.tidal')
+
+    # Get the latest releases
+    tracks = search_tidal_new_releases(get_new_releases())
+    if not tracks:
+        logger.info('No new releases found')
+        return
+
+    # Retrieve the existing new releases playlists
+    playlists = tidal.get_playlists().output
+    new_releases_playlists = sorted(
+        [
+            pl for pl in playlists
+            if pl['name'].lower().startswith('new releases')
+        ],
+        key=lambda pl: pl.get('created_at', 0)
+    )
+
+    # Delete all the existing new releases playlists
+    # (except the latest one)
+    for playlist in new_releases_playlists[:-1]:
+        logger.info('Deleting playlist "%s"', playlist['name'])
+        tidal.delete_playlist(playlist['id'])
+
+    # Create a new releases playlist
+    playlist_name = f'New Releases [{date.today().isoformat()}]'
+    pl = tidal.create_playlist(playlist_name).output
+    playlist_id = pl['id']
+
+    tidal.add_to_playlist(
+        playlist_id,
+        [t['id'] for t in tracks],
+    )
+
+
+@cron('0 7 * * 1')
+def refresh_release_radar_cron(**_):
+    """
+    This cron will execute every Monday at 7 AM.
+    """
+    try:
+        refresh_release_radar()
+    except Exception as e:
+        logger.exception(e)
+        get_plugin('ntfy').send_message(
+            topic='mirrored-notifications-topic',
+            title='Release Radar playlist generation failed',
+            message=str(e),
+            priority=4,
+        )
 ```
+
+Just like in the previous case, it's quite easy to test that it works by simply
+running `refresh_release_radar_cron` in the Python interpreter. Just like in
+the case of the discovery playlist, things will work also if you use Spotify
+instead of Tidal - just replace the `music.tidal` plugin references with
+`music.spotify`.
+
+If it all goes as expected, you will get a new playlist named _New Releases
+[date]_ every Monday with the new releases from artist that you have listened.
+
+## Conclusions
+
+Music junkies have the opportunity to discover a lot of new music today without
+ever leaving their music app. However, smart playlists provided by the major
+music cloud providers are usually implicit lock-ins, and the way they select
+the tracks that should end up in your playlists may not even be transparent, or
+even modifiable.
+
+After reading this article, you should be able to generate your discovery and
+new releases playlists, without relying on the suggestions from a specific
+music cloud. This could also make it easier to change your music provider: even
+if you decide to drop Spotify or Tidal, your music suggestions logic will
+follow you whenever you decide to go.

From dd371f317a6c88049c361756025eb5359c1bdf2f Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <info@fabiomanganiello.com>
Date: Mon, 19 Sep 2022 08:48:39 +0200
Subject: [PATCH 04/18] Music automation article

---
 img/music-automation.png                   |  Bin 0 -> 193546 bytes
 markdown/Automate-your-music-collection.md | 1230 ++++++++++++++++++++
 2 files changed, 1230 insertions(+)
 create mode 100644 img/music-automation.png
 create mode 100644 markdown/Automate-your-music-collection.md

diff --git a/img/music-automation.png b/img/music-automation.png
new file mode 100644
index 0000000000000000000000000000000000000000..36be4194b7e59a0fe39181cffc30c54f8f164d58
GIT binary patch
literal 193546
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%0Db#xbpi!yETT%b(4-PX%_2CzY}+I^||=(
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%0AKudPDvkNobcy=R$7y0|Cy$gG&OBYk
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%0A)$?fNKxoHyTTsL*~bEo4rN|&9vwEVW{
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

literal 0
HcmV?d00001

diff --git a/markdown/Automate-your-music-collection.md b/markdown/Automate-your-music-collection.md
new file mode 100644
index 0000000..3a54e80
--- /dev/null
+++ b/markdown/Automate-your-music-collection.md
@@ -0,0 +1,1230 @@
+[//]: # (title: Automate your music collection)
+[//]: # (description: Use Platypush to manage your music activity, discovery playlists and be on top of new releases.)
+[//]: # (image: /img/music-automation.png)
+[//]: # (author: Fabio Manganiello <fabio@platypush.tech>)
+[//]: # (published: 2022-09-19)
+[//]: # (latex: 1)
+
+I have been an enthusiastic user of mpd and mopidy for nearly two decades. I
+have already [written an
+article](https://blog.platypush.tech/article/Build-your-open-source-multi-room-and-multi-provider-sound-server-with-Platypush-Mopidy-and-Snapcast)
+on how to leverage mopidy (with its tons of integrations, including Spotify,
+Tidal, YouTube, Bandcamp, Plex, TuneIn, SoundCloud etc.), Snapcast (with its
+multi-room listening experience out of the box) and Platypush (with its
+automation hooks that allow you to easily create if-this-then-that rules for
+your music events) to take your listening experience to the next level, while
+using open protocols and easily extensible open-source software.
+
+There is a feature that I haven't yet covered in my previous articles, and
+that's the automation of your music collection.
+
+Spotify, Tidal and other music streaming services offer you features such as a
+_Discovery Weekly_ or _Release Radar_ playlists, respectively filled with
+tracks that you may like, or newly released tracks that you may be interested
+in.
+
+The problem is that these services come with heavy trade-offs:
+
+1. Their algorithms are closed. You don't know how Spotify figures out which
+   songs should be picked in your smart playlists. In the past months, Spotify
+   would often suggest me tracks from the same artists that I had already
+   listened to or skipped in the past, and there's no transparent way to tell
+   the algorithm "hey, actually I'd like you to suggest me more this kind of
+   music - or maybe calculate suggestions only based on the music I've listened
+   to in this time range, or maybe weigh this genre more".
+
+2. Those features are tightly coupled with the service you use. If you cancel
+   your Spotify subscription, you lose those smart features as well.
+   Companies like Spotify use such features as a lock-in mechanism -
+   you can check out any time you like, but if you do then nobody else will
+   provide you with their clever suggestions.
+
+After migrating from Spotify to Tidal in the past couple of months (TL;DR:
+Spotify f*cked up their developer experience multiple times over the past
+decade, and their killing of libspotify without providing any alternatives was
+the last nail in the coffin for me) I felt like missing their smart mixes,
+discovery and new releases playlists - and, on the other hand, Tidal took a
+while to learn my listening habits, and even when it did it often generated
+smart playlists that were an inch below Spotify's. I asked myself why on earth
+my music discovery experience should be so tightly coupled to one single cloud
+service. And I decided that the time had come for me to automatically generate
+my service-agnostic music suggestions: it's not rocket science anymore, there's
+plenty of services that you can piggyback on to get artist or tracks similar to
+some music given as input, and there's just no excuses to feel locked in by
+Spotify, Google, Tidal or some other cloud music provider.
+
+In this article we'll cover how to:
+
+1. Use Platypush to automatically keep track of the music you listen to from
+   any of your devices;
+2. Calculate the suggested tracks that may be similar to the music you've
+   recently listen to by using the Last.FM API;
+3. Generate a _Discover Weekly_ playlist similar to Spotify's without relying
+   on Spotify;
+4. Get the newly released albums and single by subscribing to an RSS feed;
+5. Generate a weekly playlist with the new releases by filtering those from
+   artists that you've listened to at least once.
+
+## Ingredients
+
+We will use Platypush to handle the following features:
+
+1. Store our listening history to a local database, or synchronize it with a
+   scrobbling service like [last.fm](https://last.fm).
+2. Periodically inspect our newly listened tracks, and use the last.fm API to
+   retrieve similar tracks.
+3. Generate a discover weekly playlist based on a simple score that ranks
+   suggestions by match score against the tracks listened on a certain period
+   of time, and increases the weight of suggestions that occur multiple times.
+4. Monitor new releases from the newalbumreleases.net RSS feed, and create a
+   weekly _Release Radar_ playlist containing the items from artists that we
+   have listened to at least once.
+
+This tutorial will require:
+
+1. A database to store your listening history and suggestions. The database
+   initialization script has been tested against Postgres, but it should be
+   easy to adapt it to MySQL or SQLite with some minimal modifications.
+2. A machine (it can be a RaspberryPi, a home server, a VPS, an unused tablet
+   etc.) to run the Platypush automation.
+3. A Spotify or Tidal account. The reported examples will generate the
+   playlists on a Tidal account by using the `music.tidal` Platypush plugin,
+   but it should be straightforward to adapt them to Spotify by using the
+   `music.spotify` plugin, or even to YouTube by using the YouTube API, or even
+   to local M3U playlists.
+
+## Setting up the software
+
+Start by installing Platypush with the
+[Tidal](https://docs.platypush.tech/platypush/plugins/music.tidal.html),
+[RSS](https://docs.platypush.tech/platypush/plugins/rss.html) and
+[Last.fm](https://docs.platypush.tech/platypush/plugins/lastfm.html)
+integrations:
+
+```
+[sudo] pip install 'platypush[tidal,rss,lastfm]'
+```
+
+If you want to use Spotify instead of Tidal then just remove `tidal` from the
+list of extra dependencies - no extra dependencies are required for the
+[Spotify
+plugin](https://docs.platypush.tech/platypush/plugins/music.spotify.html).
+
+If you are planning to listen to music through mpd/mopidy, then you may also
+want to include `mpd` in the list of extra dependencies, so Platypush can
+directly monitor your listening activity over the MPD protocol.
+
+Let's then configure a simple configuration under `~/.config/platypush/config.yaml`:
+
+```yaml
+music.tidal:
+  # No configuration required
+
+# Or, if you use Spotify, create an app at https://developer.spotify.com and
+# add its credentials here
+# music.spotify:
+#   client_id: client_id
+#   client_secret: client_secret
+
+lastfm:
+  api_key: your_api_key
+  api_secret: your_api_secret
+  username: your_user
+  password: your_password
+
+# Subscribe to updates from newalbumreleases.net
+rss:
+  subscriptions:
+    - https://newalbumreleases.net/category/cat/feed/
+
+# Optional, used to send notifications about generation issues to your
+# mobile/browser. You can also use Pushbullet, an email plugin or a chatbot if
+# you prefer.
+ntfy:
+  # No configuration required if you want to use the default server at
+  # https://ntfy.sh
+
+# Include the mpd plugin and backend if you are listening to music over
+# mpd/mopidy
+music.mpd:
+  host: localhost
+  port: 6600
+
+backend.music.mopidy:
+  host: localhost
+  port: 6600
+```
+
+Start Platypush by running the `platypush` command. The first time it should
+prompt you with a tidal.com link required to authenticate your user. Open it in
+your browser and authorize the app - the next runs should no longer ask you to
+authenticate.
+
+Once the Platypush dependencies are in place, let's move to configure the
+database.
+
+## Database configuration
+
+I'll assume that you have a Postgres database running somewhere, but the script
+below can be easily adapted also to other DBMS's.
+
+Database initialization script:
+
+```sql
+-- New listened tracks will be pushed to the tmp_music table, and normalized by
+-- a trigger.
+drop table if exists tmp_music cascade;
+create table tmp_music(
+    id          serial not null,
+    artist      varchar(255) not null,
+    title       varchar(255) not null,
+    album       varchar(255),
+    created_at  timestamp with time zone default CURRENT_TIMESTAMP,
+    primary key(id)
+);
+
+-- This table will store the tracks' info
+drop table if exists music_track cascade;
+create table music_track(
+    id          serial not null,
+    artist      varchar(255) not null,
+    title       varchar(255) not null,
+    album       varchar(255),
+    created_at  timestamp with time zone default CURRENT_TIMESTAMP,
+    primary key(id),
+    unique(artist, title)
+);
+
+-- Create an index on (artist, title), and ensure that the (artist, title) pair
+-- is unique
+create unique index track_artist_title_idx on music_track(lower(artist), lower(title));
+create index track_artist_idx on music_track(lower(artist));
+
+-- music_activity holds the listened tracks
+drop table if exists music_activity cascade;
+create table music_activity(
+    id          serial not null,
+    track_id    int not null,
+    created_at  timestamp with time zone default CURRENT_TIMESTAMP,
+    primary key(id)
+);
+
+-- music_similar keeps track of the similar tracks
+drop table if exists music_similar cascade;
+create table music_similar(
+    source_track_id   int not null,
+    target_track_id   int not null,
+    match_score       float not null,
+    primary key(source_track_id, target_track_id),
+    foreign key(source_track_id) references music_track(id),
+    foreign key(target_track_id) references music_track(id)
+);
+
+-- music_discovery_playlist keeps track of the generated discovery playlists
+drop table if exists music_discovery_playlist cascade;
+create table music_discovery_playlist(
+    id          serial not null,
+    name        varchar(255),
+    created_at  timestamp with time zone default CURRENT_TIMESTAMP,
+    primary key(id)
+);
+
+-- This table contains the track included in each discovery playlist
+drop table if exists music_discovery_playlist_track cascade;
+create table music_discovery_playlist_track(
+    id            serial not null,
+    playlist_id   int not null,
+    track_id      int not null,
+    primary key(id),
+    unique(playlist_id, track_id),
+    foreign key(playlist_id) references music_discovery_playlist(id),
+    foreign key(track_id) references music_track(id)
+);
+
+-- This table contains the new releases from artist that we've listened to at
+-- least once
+drop table if exists new_release cascade;
+create table new_release(
+    id serial not null,
+    artist varchar(255) not null,
+    album varchar(255) not null,
+    genre varchar(255),
+    created_at timestamp with time zone default CURRENT_TIMESTAMP,
+
+    primary key(id),
+    constraint u_artist_title unique(artist, album)
+);
+
+-- This trigger normalizes the tracks inserted into tmp_track
+create or replace function sync_music_data()
+    returns trigger as
+$$
+declare
+    track_id int;
+begin
+    insert into music_track(artist, title, album)
+        values(new.artist, new.title, new.album)
+    on conflict(artist, title) do update
+        set album = coalesce(excluded.album, old.album)
+    returning id into track_id;
+
+    insert into music_activity(track_id, created_at)
+        values (track_id, new.created_at);
+
+    delete from tmp_music where id = new.id;
+    return new;
+end;
+$$
+language 'plpgsql';
+
+drop trigger if exists on_sync_music on tmp_music;
+create trigger on_sync_music
+    after insert on tmp_music
+    for each row
+    execute procedure sync_music_data();
+
+-- (Optional) accessory view to easily peek the listened tracks
+drop view if exists vmusic;
+create view vmusic as
+select t.id as track_id
+     , t.artist
+     , t.title
+     , t.album
+     , a.created_at
+from music_track t
+join music_activity a
+on t.id = a.track_id;
+```
+
+Run the script on your database - if everything went smooth then all the tables
+should be successfully created.
+
+## Synchronizing your music activity
+
+Now that all the dependencies are in place, it's time to configure the logic to
+store your music activity to your database.
+
+If most of your music activity happens through mpd/mopidy, then storing your
+activity to the database is as simple as creating a hook on
+[`NewPlayingTrackEvent`
+events](https://docs.platypush.tech/platypush/events/music.html)
+that inserts any new played track on `tmp_music`. Paste the following
+content to a new Platypush user script (e.g.
+`~/.config/platypush/scripts/music/sync.py`):
+
+```python
+# ~/.config/platypush/scripts/music/sync.py
+
+from logging import getLogger
+
+from platypush.context import get_plugin
+from platypush.event.hook import hook
+from platypush.message.event.music import NewPlayingTrackEvent
+
+logger = getLogger('music_sync')
+
+# SQLAlchemy connection string that points to your database
+music_db_engine = 'postgresql+pg8000://dbuser:dbpass@dbhost/dbname'
+
+
+# Hook that react to NewPlayingTrackEvent events
+@hook(NewPlayingTrackEvent)
+def on_new_track_playing(event, **_):
+    track = event.track
+
+    # Skip if the track has no artist/title specified
+    if not (track.get('artist') and track.get('title')):
+        return
+
+    logger.info(
+        'Inserting track: %s - %s',
+        track['artist'], track['title']
+    )
+
+    db = get_plugin('db')
+    db.insert(
+        engine=music_db_engine,
+        table='tmp_music',
+        records=[
+            {
+                'artist': track['artist'],
+                'title': track['title'],
+                'album': track.get('album'),
+            }
+            for track in tracks
+        ]
+    )
+```
+
+Alternatively, if you also want to sync music activity that happens on
+other clients (such as the Spotify/Tidal app or web view, or over mobile
+devices), you may consider leveraging Last.fm. Last.fm (or its open alternative
+Libre.fm) is a _scrobbling_ service compatible with most of the music
+players out there. Both Spotify and Tidal support scrobbling, the [Android
+app](https://apkpure.com/last-fm/fm.last.android) can grab any music activity
+on your phone and scrobble it, and there are even [browser
+extensions](https://chrome.google.com/webstore/detail/web-scrobbler/hhinaapppaileiechjoiifaancjggfjm?hl=en)
+that allow you to keep track of any music activity from any browser tab.
+
+So an alternative approach may be to send both your mpd/mopidy music activity,
+as well as your in-browser or mobile music activity, to last.fm / libre.fm. The
+corresponding hook would be:
+
+```python
+# ~/.config/platypush/scripts/music/sync.py
+
+from logging import getLogger
+
+from platypush.context import get_plugin
+from platypush.event.hook import hook
+from platypush.message.event.music import NewPlayingTrackEvent
+
+logger = getLogger('music_sync')
+
+
+# Hook that react to NewPlayingTrackEvent events
+@hook(NewPlayingTrackEvent)
+def on_new_track_playing(event, **_):
+    track = event.track
+
+    # Skip if the track has no artist/title specified
+    if not (track.get('artist') and track.get('title')):
+        return
+
+    lastfm = get_plugin('lastfm')
+    logger.info(
+        'Scrobbling track: %s - %s',
+        track['artist'], track['title']
+    )
+
+    lastfm.scrobble(
+        artist=track['artist'],
+        title=track['title'],
+        album=track.get('album'),
+    )
+```
+
+If you go for the scrobbling way, then you may want to periodically synchronize
+your scrobble history to your local database - for example, through a cron that
+runs every 30 seconds:
+
+```python
+# ~/.config/platypush/scripts/music/scrobble2db.py
+
+import logging
+
+from datetime import datetime
+
+from platypush.context import get_plugin, Variable
+from platypush.cron import cron
+
+logger = logging.getLogger('music_sync')
+music_db_engine = 'postgresql+pg8000://dbuser:dbpass@dbhost/dbname'
+
+# Use this stored variable to keep track of the time of the latest
+# synchronized scrobble
+last_timestamp_var = Variable('LAST_SCROBBLED_TIMESTAMP')
+
+
+# This cron executes every 30 seconds
+@cron('* * * * * */30')
+def sync_scrobbled_tracks(**_):
+    db = get_plugin('db')
+    lastfm = get_plugin('lastfm')
+
+    # Use the last.fm plugin to retrieve all the new tracks scrobbled since
+    # the last check
+    last_timestamp = int(last_timestamp_var.get() or 0)
+    tracks = [
+        track for track in lastfm.get_recent_tracks().output
+        if track.get('timestamp', 0) > last_timestamp
+    ]
+
+    # Exit if we have no new music activity
+    if not tracks:
+        return
+
+    # Insert the new tracks on the database
+    db.insert(
+        engine=music_db_engine,
+        table='tmp_music',
+        records=[
+            {
+                'artist': track.get('artist'),
+                'title': track.get('title'),
+                'album': track.get('album'),
+                'created_at': (
+                    datetime.fromtimestamp(track['timestamp'])
+                    if track.get('timestamp') else None
+                ),
+            }
+            for track in tracks
+        ]
+    )
+
+    # Update the LAST_SCROBBLED_TIMESTAMP variable with the timestamp of the
+    # most recent played track
+    last_timestamp_var.set(max(
+        int(t.get('timestamp', 0))
+        for t in tracks
+    ))
+
+    logger.info('Stored %d new scrobbled track(s)', len(tracks))
+```
+
+This cron will basically synchronize your scrobbling history to your local
+database, so we can use the local database as the source of truth for the next
+steps - no matter where the music was played from.
+
+To test the logic, simply restart Platypush, play some music from your
+favourite player(s), and check that everything gets inserted on the database -
+even if we are inserting tracks on the `tmp_music` table, the listening history
+should be automatically normalized on the appropriate tables by the triggered
+that we created at initialization time.
+
+## Updating the suggestions
+
+Now that all the plumbing to get all of your listening history in one data
+source is in place, let's move to the logic that recalculates the suggestions
+based on your listening history.
+
+We will again use the last.fm API to get tracks that are similar to those we
+listened to recently - I personally find last.fm suggestions often more
+relevant than those of Spotify's.
+
+For sake of simplicity, let's map the database tables to some SQLAlchemy ORM
+classes, so the upcoming SQL interactions can be notably simplified. The ORM
+model can be stored under e.g. `~/.config/platypush/music/db.py`:
+
+```python
+# ~/.config/platypush/scripts/music/db.py
+
+from sqlalchemy import create_engine
+from sqlalchemy.ext.automap import automap_base
+from sqlalchemy.orm import sessionmaker, scoped_session
+
+music_db_engine = 'postgresql+pg8000://dbuser:dbpass@dbhost/dbname'
+engine = create_engine(music_db_engine)
+
+Base = automap_base()
+Base.prepare(engine, reflect=True)
+Track = Base.classes.music_track
+TrackActivity = Base.classes.music_activity
+TrackSimilar = Base.classes.music_similar
+DiscoveryPlaylist = Base.classes.music_discovery_playlist
+DiscoveryPlaylistTrack = Base.classes.music_discovery_playlist_track
+NewRelease = Base.classes.new_release
+
+
+def get_db_session():
+    session = scoped_session(sessionmaker(expire_on_commit=False))
+    session.configure(bind=engine)
+    return session()
+```
+
+Then create a new user script under e.g.
+`~/.config/platypush/scripts/music/suggestions.py` with the following content:
+
+```python
+# ~/.config/platypush/scripts/music/suggestions.py
+
+import logging
+
+from sqlalchemy import tuple_
+from sqlalchemy.dialects.postgresql import insert
+from sqlalchemy.sql.expression import bindparam
+
+from platypush.context import get_plugin, Variable
+from platypush.cron import cron
+
+from scripts.music.db import (
+    get_db_session, Track, TrackActivity, TrackSimilar
+)
+
+
+logger = logging.getLogger('music_suggestions')
+
+# This stored variable will keep track of the latest activity ID for which the
+# suggestions were calculated
+last_activity_id_var = Variable('LAST_PROCESSED_ACTIVITY_ID')
+
+
+# A cronjob that runs every 5 minutes and updates the suggestions
+@cron('*/5 * * * *')
+def refresh_similar_tracks(**_):
+    last_activity_id = int(last_activity_id_var.get() or 0)
+
+    # Retrieve all the tracks played since the latest synchronized activity ID
+    # that don't have any similar tracks being calculated yet
+    with get_db_session() as session:
+        recent_tracks_without_similars = \
+            _get_recent_tracks_without_similars(last_activity_id)
+
+    try:
+        if not recent_tracks_without_similars:
+            raise StopIteration(
+                'All the recent tracks have processed suggestions')
+
+        # Get the last activity_id
+        batch_size = 10
+        last_activity_id = (
+            recent_tracks_without_similars[:batch_size][-1]['activity_id'])
+
+        logger.info(
+            'Processing suggestions for %d/%d tracks',
+            min(batch_size, len(recent_tracks_without_similars)),
+            len(recent_tracks_without_similars))
+
+        # Build the track_id -> [similar_tracks] map
+        similars_by_track = {
+            track['track_id']: _get_similar_tracks(track['artist'], track['title'])
+            for track in recent_tracks_without_similars[:batch_size]
+        }
+
+        # Map all the similar tracks in an (artist, title) -> info data structure
+        similar_tracks_by_artist_and_title = \
+            _get_similar_tracks_by_artist_and_title(similars_by_track)
+
+        if not similar_tracks_by_artist_and_title:
+            raise StopIteration('No new suggestions to process')
+
+        # Sync all the new similar tracks to the database
+        similar_tracks = \
+            _sync_missing_similar_tracks(similar_tracks_by_artist_and_title)
+
+        # Link listened tracks to similar tracks
+        with get_db_session() as session:
+            stmt = insert(TrackSimilar).values({
+                'source_track_id': bindparam('source_track_id'),
+                'target_track_id': bindparam('target_track_id'),
+                'match_score': bindparam('match_score'),
+            }).on_conflict_do_nothing()
+
+            session.execute(
+                stmt, [
+                    {
+                        'source_track_id': track_id,
+                        'target_track_id': similar_tracks[(similar['artist'], similar['title'])].id,
+                        'match_score': similar['score'],
+                    }
+                    for track_id, similars in similars_by_track.items()
+                    for similar in (similars or [])
+                    if (similar['artist'], similar['title'])
+                    in similar_tracks
+                ]
+            )
+
+            session.flush()
+            session.commit()
+    except StopIteration as e:
+        logger.info(e)
+
+    last_activity_id_var.set(last_activity_id)
+    logger.info('Suggestions updated')
+
+
+def _get_similar_tracks(artist, title):
+    """
+    Use the last.fm API to retrieve the tracks similar to a given
+    artist/title pair
+    """
+    import pylast
+    lastfm = get_plugin('lastfm')
+
+    try:
+        return lastfm.get_similar_tracks(
+            artist=artist,
+            title=title,
+            limit=10,
+        )
+    except pylast.PyLastError as e:
+        logger.warning(
+            'Could not find tracks similar to %s - %s: %s',
+            artist, title, e
+        )
+
+
+def _get_recent_tracks_without_similars(last_activity_id):
+    """
+    Get all the tracks played after a certain activity ID that don't have
+    any suggestions yet.
+    """
+    with get_db_session() as session:
+        return [
+            {
+                'track_id': t[0],
+                'artist': t[1],
+                'title': t[2],
+                'activity_id': t[3],
+            }
+            for t in session.query(
+                Track.id.label('track_id'),
+                Track.artist,
+                Track.title,
+                TrackActivity.id.label('activity_id'),
+            )
+            .select_from(
+                Track.__table__
+                .join(
+                    TrackSimilar,
+                    Track.id == TrackSimilar.source_track_id,
+                    isouter=True
+                )
+                .join(
+                    TrackActivity,
+                    Track.id == TrackActivity.track_id
+                )
+            )
+            .filter(
+                TrackSimilar.source_track_id.is_(None),
+                TrackActivity.id > last_activity_id
+            )
+            .order_by(TrackActivity.id)
+            .all()
+        ]
+
+
+def _get_similar_tracks_by_artist_and_title(similars_by_track):
+    """
+    Map similar tracks into an (artist, title) -> track dictionary
+    """
+    similar_tracks_by_artist_and_title = {}
+    for similar in similars_by_track.values():
+        for track in (similar or []):
+            similar_tracks_by_artist_and_title[
+                (track['artist'], track['title'])
+            ] = track
+
+    return similar_tracks_by_artist_and_title
+
+
+def _sync_missing_similar_tracks(similar_tracks_by_artist_and_title):
+    """
+    Flush newly calculated similar tracks to the database.
+    """
+    logger.info('Syncing missing similar tracks')
+    with get_db_session() as session:
+        stmt = insert(Track).values({
+            'artist': bindparam('artist'),
+            'title': bindparam('title'),
+        }).on_conflict_do_nothing()
+
+        session.execute(stmt, list(similar_tracks_by_artist_and_title.values()))
+        session.flush()
+        session.commit()
+
+        tracks = session.query(Track).filter(
+            tuple_(Track.artist, Track.title).in_(
+                similar_tracks_by_artist_and_title
+            )
+        ).all()
+
+        return {
+            (track.artist, track.title): track
+            for track in tracks
+        }
+```
+
+Restart Platypush and let it run for a bit. The cron will operate in batches of
+10 items each (it can be easily customized), so after a few minutes your
+`music_suggestions` table should start getting populated.
+
+## Generating the discovery playlist
+
+So far we have achieved the following targets:
+
+- We have a piece of logic that synchronizes all of our listening history to a
+  local database.
+- We have a way to synchronize last.fm / libre.fm scrobbles to the same
+  database as well.
+- We have a cronjob that periodically scans our listening history and fetches
+  the suggestions through the last.fm API.
+
+Now let's put it all together with a cron that runs every week (or daily, or at
+whatever interval we like) that does the following:
+
+- It retrieves our listening history over the specified period.
+- It retrieves the suggested tracks associated to our listening history.
+- It excludes the tracks that we've already listened to, or that have already
+  been included in previous discovery playlists.
+- It generates a new discovery playlist with those tracks, ranked according to
+  a simple score:
+
+$$
+\rho_i = \sum_{j \in L_i} m_{ij}
+$$
+
+Where \( \rho_i \) is the ranking of the suggested _i_-th suggested track, \(
+L_i \) is the set of listened tracks that have the _i_-th track among its
+similarities, and \( m_{ij} \) is the match score between _i_ and _j_ as
+reported by the last.fm API.
+
+Let's put all these pieces together in a cron defined in e.g.
+`~/.config/platypush/scripts/music/discovery.py`:
+
+```python
+# ~/.config/platypush/scripts/music/discovery.py
+
+import logging
+from datetime import date, timedelta
+
+from platypush.context import get_plugin
+from platypush.cron import cron
+
+from scripts.music.db import (
+    get_db_session, Track, TrackActivity, TrackSimilar,
+    DiscoveryPlaylist, DiscoveryPlaylistTrack
+)
+
+logger = logging.getLogger('music_discovery')
+
+
+def get_suggested_tracks(days=7, limit=25):
+    """
+    Retrieve the suggested tracks from the database.
+
+    :param days: Look back at the listen history for the past <n> days
+        (default: 7).
+    :param limit: Maximum number of track in the discovery playlist
+        (default: 25).
+    """
+    from sqlalchemy import func
+
+    listened_activity = TrackActivity.__table__.alias('listened_activity')
+    suggested_activity = TrackActivity.__table__.alias('suggested_activity')
+
+    with get_db_session() as session:
+        return [
+            {
+                'track_id': t[0],
+                'artist': t[1],
+                'title': t[2],
+                'score': t[3],
+            }
+            for t in session.query(
+                Track.id,
+                func.min(Track.artist),
+                func.min(Track.title),
+                func.sum(TrackSimilar.match_score).label('score'),
+            )
+            .select_from(
+                Track.__table__
+                .join(
+                    TrackSimilar.__table__,
+                    Track.id == TrackSimilar.target_track_id
+                )
+                .join(
+                    listened_activity,
+                    listened_activity.c.track_id == TrackSimilar.source_track_id,
+                )
+                .join(
+                    suggested_activity,
+                    suggested_activity.c.track_id == TrackSimilar.target_track_id,
+                    isouter=True
+                )
+                .join(
+                    DiscoveryPlaylistTrack,
+                    Track.id == DiscoveryPlaylistTrack.track_id,
+                    isouter=True
+                )
+            )
+            .filter(
+                # The track has not been listened
+                suggested_activity.c.track_id.is_(None),
+                # The track has not been suggested already
+                DiscoveryPlaylistTrack.track_id.is_(None),
+                # Filter by recent activity
+                listened_activity.c.created_at >= date.today() - timedelta(days=days)
+            )
+            .group_by(Track.id)
+            # Sort by aggregate match score
+            .order_by(func.sum(TrackSimilar.match_score).desc())
+            .limit(limit)
+            .all()
+        ]
+
+
+def search_remote_tracks(tracks):
+    """
+    Search for Tidal tracks given a list of suggested tracks.
+    """
+    # If you use Spotify instead of Tidal, simply replacing `music.tidal`
+    # with `music.spotify` here should suffice.
+    tidal = get_plugin('music.tidal')
+    found_tracks = []
+
+    for track in tracks:
+        query = track['artist'] + ' ' + track['title']
+        logger.info('Searching "%s"', query)
+        results = (
+            tidal.search(query, type='track', limit=1).output.get('tracks', [])
+        )
+
+        if results:
+            track['remote_track_id'] = results[0]['id']
+            found_tracks.append(track)
+        else:
+            logger.warning('Could not find "%s" on TIDAL', query)
+
+    return found_tracks
+
+
+def refresh_discover_weekly():
+    # If you use Spotify instead of Tidal, simply replacing `music.tidal`
+    # with `music.spotify` here should suffice.
+    tidal = get_plugin('music.tidal')
+
+    # Get the latest suggested tracks
+    suggestions = search_remote_tracks(get_suggested_tracks())
+    if not suggestions:
+        logger.info('No suggestions available')
+        return
+
+    # Retrieve the existing discovery playlists
+    # Our naming convention is that discovery playlist names start with
+    # "Discover Weekly" - feel free to change it
+    playlists = tidal.get_playlists().output
+    discover_playlists = sorted(
+        [
+            pl for pl in playlists
+            if pl['name'].lower().startswith('discover weekly')
+        ],
+        key=lambda pl: pl.get('created_at', 0)
+    )
+
+    # Delete all the existing discovery playlists
+    # (except the latest one). We basically keep two discovery playlists at the
+    # time in our collection, so you have two weeks to listen to them before they
+    # get deleted. Feel free to change this logic by modifying the -1 parameter
+    # with e.g. -2, -3 etc. if you want to store more discovery playlists.
+    for playlist in discover_playlists[:-1]:
+        logger.info('Deleting playlist "%s"', playlist['name'])
+        tidal.delete_playlist(playlist['id'])
+
+    # Create a new discovery playlist
+    playlist_name = f'Discover Weekly [{date.today().isoformat()}]'
+    pl = tidal.create_playlist(playlist_name).output
+    playlist_id = pl['id']
+
+    tidal.add_to_playlist(
+        playlist_id,
+        [t['remote_track_id'] for t in suggestions],
+    )
+
+    # Add the playlist to the database
+    with get_db_session() as session:
+        pl = DiscoveryPlaylist(name=playlist_name)
+        session.add(pl)
+        session.flush()
+        session.commit()
+
+    # Add the playlist entries to the database
+    with get_db_session() as session:
+        for track in suggestions:
+            session.add(
+                DiscoveryPlaylistTrack(
+                    playlist_id=pl.id,
+                    track_id=track['track_id'],
+                )
+            )
+
+        session.commit()
+
+    logger.info('Discover Weekly playlist updated')
+
+
+@cron('0 6 * * 1')
+def refresh_discover_weekly_cron(**_):
+    """
+    This cronjob runs every Monday at 6 AM.
+    """
+    try:
+        refresh_discover_weekly()
+    except Exception as e:
+        logger.exception(e)
+
+        # (Optional) If anything went wrong with the playlist generation, send
+        # a notification over ntfy
+        ntfy = get_plugin('ntfy')
+        ntfy.send_message(
+            topic='mirrored-notifications-topic',
+            title='Discover Weekly playlist generation failed',
+            message=str(e),
+            priority=4,
+        )
+```
+
+You can test the cronjob without having to wait for the next Monday through
+your Python interpreter:
+
+```python
+>>> import os
+>>>
+>>> # Move to the Platypush config directory
+>>> path = os.path.join(os.path.expanduser('~'), '.config', 'platypush')
+>>> os.chdir(path)
+>>>
+>>> # Import and run the cron function
+>>> from scripts.music.discovery import refresh_discover_weekly_cron
+>>> refresh_discover_weekly_cron()
+```
+
+If everything went well, you should soon see a new playlist in your collection
+named _Discover Weekly [date]_. Congratulations!
+
+## Release radar playlist
+
+Another great feature of Spotify and Tidal is the ability to provide "release
+radar" playlists that contain new releases from artists that we may like.
+
+We now have a powerful way of creating such playlists ourselves though. We
+previously configured Platypush to subscribe to the RSS feed from
+newalbumreleases.net. Populating our release radar playlist involves the
+following steps:
+
+1. Creating a hook that reacts to [`NewFeedEntryEvent`
+   events](https://docs.platypush.tech/platypush/events/rss.html) on this feed.
+2. The hook will store new releases that match artists in our collection on the
+   `new_release` table that we created when we initialized the database.
+3. A cron will scan this table on a weekly basis, search the tracks on
+   Spotify/Tidal, and populate our playlist just like we did for _Discover
+   Weekly_.
+
+Let's put these pieces together in a new user script stored under e.g.
+`~/.config/platypush/scripts/music/releases.py`:
+
+```python
+# ~/.config/platypush/scripts/music/releases.py
+
+import html
+import logging
+import re
+import threading
+from datetime import date, timedelta
+from typing import Iterable, List
+
+from platypush.context import get_plugin
+from platypush.cron import cron
+from platypush.event.hook import hook
+from platypush.message.event.rss import NewFeedEntryEvent
+
+from scripts.music.db import (
+    music_db_engine, get_db_session, NewRelease
+)
+
+
+create_lock = threading.RLock()
+logger = logging.getLogger(__name__)
+
+
+def _split_html_lines(content: str) -> List[str]:
+    """
+    Utility method used to convert and split the HTML lines reported
+    by the RSS feed.
+    """
+    return [
+        l.strip()
+        for l in re.sub(
+            r'(</?p[^>]*>)|(<br\s*/?>)',
+            '\n',
+            content
+        ).split('\n') if l
+    ]
+
+
+def _get_summary_field(title: str, lines: Iterable[str]) -> str | None:
+    """
+    Parse the fields of a new album from the feed HTML summary.
+    """
+    for line in lines:
+        m = re.match(rf'^{title}:\s+(.*)$', line.strip(), re.IGNORECASE)
+        if m:
+            return html.unescape(m.group(1))
+
+
+@hook(NewFeedEntryEvent, feed_url='https://newalbumreleases.net/category/cat/feed/')
+def save_new_release(event: NewFeedEntryEvent, **_):
+    """
+    This hook is triggered whenever the newalbumreleases.net has new entries.
+    """
+    # Parse artist and album
+    summary = _split_html_lines(event.summary)
+    artist = _get_summary_field('artist', summary)
+    album = _get_summary_field('album', summary)
+    genre = _get_summary_field('style', summary)
+
+    if not (artist and album):
+        return
+
+    # Check if we have listened to this artist at least once
+    db = get_plugin('db')
+    num_plays = int(
+        db.select(
+            engine=music_db_engine,
+            query=
+            '''
+            select count(*)
+            from music_activity a
+            join music_track t
+            on a.track_id = t.id
+            where artist = :artist
+            ''',
+            data={'artist': artist},
+        ).output[0].get('count', 0)
+    )
+
+    # If not, skip it
+    if not num_plays:
+        return
+
+    # Insert the new release on the database
+    with create_lock:
+        db.insert(
+            engine=music_db_engine,
+            table='new_release',
+            records=[{
+                'artist': artist,
+                'album': album,
+                'genre': genre,
+            }],
+            key_columns=('artist', 'album'),
+            on_duplicate_update=True,
+        )
+
+
+def get_new_releases(days=7):
+    """
+    Retrieve the new album releases from the database.
+
+    :param days: Look at albums releases in the past <n> days
+        (default: 7)
+    """
+    with get_db_session() as session:
+        return [
+            {
+                'artist': t[0],
+                'album': t[1],
+            }
+            for t in session.query(
+                NewRelease.artist,
+                NewRelease.album,
+            )
+            .select_from(
+                NewRelease.__table__
+            )
+            .filter(
+                # Filter by recent activity
+                NewRelease.created_at >= date.today() - timedelta(days=days)
+            )
+            .all()
+        ]
+
+
+def search_tidal_new_releases(albums):
+    """
+    Search for Tidal albums given a list of objects with artist and title.
+    """
+    tidal = get_plugin('music.tidal')
+    expanded_tracks = []
+
+    for album in albums:
+        query = album['artist'] + ' ' + album['album']
+        logger.info('Searching "%s"', query)
+        results = (
+            tidal.search(query, type='album', limit=1)
+            .output.get('albums', [])
+        )
+
+        if results:
+            album = results[0]
+
+            # Skip search results older than a year - some new releases may
+            # actually be remasters/re-releases of existing albums
+            if date.today().year - album.get('year', 0) > 1:
+                continue
+
+            expanded_tracks += (
+                tidal.get_album(results[0]['id']).
+                output.get('tracks', [])
+            )
+        else:
+            logger.warning('Could not find "%s" on TIDAL', query)
+
+    return expanded_tracks
+
+
+def refresh_release_radar():
+    tidal = get_plugin('music.tidal')
+
+    # Get the latest releases
+    tracks = search_tidal_new_releases(get_new_releases())
+    if not tracks:
+        logger.info('No new releases found')
+        return
+
+    # Retrieve the existing new releases playlists
+    playlists = tidal.get_playlists().output
+    new_releases_playlists = sorted(
+        [
+            pl for pl in playlists
+            if pl['name'].lower().startswith('new releases')
+        ],
+        key=lambda pl: pl.get('created_at', 0)
+    )
+
+    # Delete all the existing new releases playlists
+    # (except the latest one)
+    for playlist in new_releases_playlists[:-1]:
+        logger.info('Deleting playlist "%s"', playlist['name'])
+        tidal.delete_playlist(playlist['id'])
+
+    # Create a new releases playlist
+    playlist_name = f'New Releases [{date.today().isoformat()}]'
+    pl = tidal.create_playlist(playlist_name).output
+    playlist_id = pl['id']
+
+    tidal.add_to_playlist(
+        playlist_id,
+        [t['id'] for t in tracks],
+    )
+
+
+@cron('0 7 * * 1')
+def refresh_release_radar_cron(**_):
+    """
+    This cron will execute every Monday at 7 AM.
+    """
+    try:
+        refresh_release_radar()
+    except Exception as e:
+        logger.exception(e)
+        get_plugin('ntfy').send_message(
+            topic='mirrored-notifications-topic',
+            title='Release Radar playlist generation failed',
+            message=str(e),
+            priority=4,
+        )
+```
+
+Just like in the previous case, it's quite easy to test that it works by simply
+running `refresh_release_radar_cron` in the Python interpreter. Just like in
+the case of the discovery playlist, things will work also if you use Spotify
+instead of Tidal - just replace the `music.tidal` plugin references with
+`music.spotify`.
+
+If it all goes as expected, you will get a new playlist named _New Releases
+[date]_ every Monday with the new releases from artist that you have listened.
+
+## Conclusions
+
+Music junkies have the opportunity to discover a lot of new music today without
+ever leaving their music app. However, smart playlists provided by the major
+music cloud providers are usually implicit lock-ins, and the way they select
+the tracks that should end up in your playlists may not even be transparent, or
+even modifiable.
+
+After reading this article, you should be able to generate your discovery and
+new releases playlists, without relying on the suggestions from a specific
+music cloud. This could also make it easier to change your music provider: even
+if you decide to drop Spotify or Tidal, your music suggestions logic will
+follow you whenever you decide to go.

From faf1be2ea06b09699efffde3da799423735f9803 Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <info@fabiomanganiello.com>
Date: Thu, 17 Nov 2022 15:50:41 +0100
Subject: [PATCH 05/18] Fixed pip install line

---
 ...don-bot-to-forward-Twitter-and-RSS-feeds-to-your-timeline.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/markdown/Create-a-Mastodon-bot-to-forward-Twitter-and-RSS-feeds-to-your-timeline.md b/markdown/Create-a-Mastodon-bot-to-forward-Twitter-and-RSS-feeds-to-your-timeline.md
index 0907541..798d1c5 100644
--- a/markdown/Create-a-Mastodon-bot-to-forward-Twitter-and-RSS-feeds-to-your-timeline.md
+++ b/markdown/Create-a-Mastodon-bot-to-forward-Twitter-and-RSS-feeds-to-your-timeline.md
@@ -328,7 +328,7 @@ Install Python 3 and `pip` if they aren't installed already. Then install
 Platypush with the `rss` and `mastodon` integrations:
 
 ```bash
-[sudo] pip3 install 'platypush[rss,mastodon]'
+[sudo] pip3 install 'platypush[rss]'
 ```
 
 Now create a configuration file under `~/.config/platypush/config.yaml` that

From 991c6a39148ccf1d987918522d5e9a4cbf864869 Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <info@fabiomanganiello.com>
Date: Thu, 17 Nov 2022 15:53:25 +0100
Subject: [PATCH 06/18] Fixed pip install line

---
 ...don-bot-to-forward-Twitter-and-RSS-feeds-to-your-timeline.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/markdown/Create-a-Mastodon-bot-to-forward-Twitter-and-RSS-feeds-to-your-timeline.md b/markdown/Create-a-Mastodon-bot-to-forward-Twitter-and-RSS-feeds-to-your-timeline.md
index 798d1c5..ae7b3cc 100644
--- a/markdown/Create-a-Mastodon-bot-to-forward-Twitter-and-RSS-feeds-to-your-timeline.md
+++ b/markdown/Create-a-Mastodon-bot-to-forward-Twitter-and-RSS-feeds-to-your-timeline.md
@@ -325,7 +325,7 @@ can run a UNIX-like system and it has HTTP access to the instance that hosts
 your bot.
 
 Install Python 3 and `pip` if they aren't installed already. Then install
-Platypush with the `rss` and `mastodon` integrations:
+Platypush with the `rss` integration:
 
 ```bash
 [sudo] pip3 install 'platypush[rss]'

From f1c488de790ddd688dc545f6b982b8e3f1799004 Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <info@fabiomanganiello.com>
Date: Thu, 17 Nov 2022 15:59:37 +0100
Subject: [PATCH 07/18] Added update about nitter.net

---
 ...bot-to-forward-Twitter-and-RSS-feeds-to-your-timeline.md | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/markdown/Create-a-Mastodon-bot-to-forward-Twitter-and-RSS-feeds-to-your-timeline.md b/markdown/Create-a-Mastodon-bot-to-forward-Twitter-and-RSS-feeds-to-your-timeline.md
index ae7b3cc..e3724d4 100644
--- a/markdown/Create-a-Mastodon-bot-to-forward-Twitter-and-RSS-feeds-to-your-timeline.md
+++ b/markdown/Create-a-Mastodon-bot-to-forward-Twitter-and-RSS-feeds-to-your-timeline.md
@@ -359,6 +359,12 @@ Fortunately, the admins of `nitter.net` still do a good job in bridging Twitter
 timelines to RSS feeds, so in `rss.subscriptions` we use `nitter.net` URLs as a
 proxy to Twitter timelines.
 
+> UPDATE: `nitter.net` has got a lot of traffic lately, especially after the
+> recent events at Twitter. So keep in mind that the main instance may not
+> always be accessible. You can consider using other nitter instances, or, even
+> better, run one yourself (Nitter is open-source and light enough to run on a
+> Raspberry Pi).
+
 Now create a script under `~/.config/platypush/scripts` named e.g.
 `mastodon_bot.py`. Its content can be something like the following:
 

From 22f5a8b662c7ad10ffe5d6b7ce88d6fa23fce7a0 Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <fabio@manganiello.tech>
Date: Sun, 26 May 2024 13:56:31 +0200
Subject: [PATCH 08/18] Added Platypush 1.0 article

---
 config.yaml                      |   1 +
 markdown/Platypush-1.0-is-out.md | 268 +++++++++++++++++++++++++++++++
 2 files changed, 269 insertions(+)
 create mode 100644 markdown/Platypush-1.0-is-out.md

diff --git a/config.yaml b/config.yaml
index ea9967c..b7a8475 100644
--- a/config.yaml
+++ b/config.yaml
@@ -2,6 +2,7 @@ title: Platypush
 description: The Platypush blog
 link: https://blog.platypush.tech
 home_link: https://platypush.tech
+short_feed: True
 categories:
   - IoT
   - automation
diff --git a/markdown/Platypush-1.0-is-out.md b/markdown/Platypush-1.0-is-out.md
new file mode 100644
index 0000000..bab5080
--- /dev/null
+++ b/markdown/Platypush-1.0-is-out.md
@@ -0,0 +1,268 @@
+[//]: # (title: Platypush 1.0 is out)
+[//]: # (description: It's software maturity time)
+[//]: # (image: https://platypush-static.s3.nl-ams.scw.cloud/images/release-1.0.png)
+[//]: # (author: Fabio Manganiello <fabio@platypush.tech>)
+[//]: # (published: 2024-05-26)
+
+It's been [10 months](https://pypi.org/project/platypush/#history) and [1049
+commits](https://git.platypush.tech/platypush/platypush/commits/branch/master)
+since the latest release of Platypush, 7 years since [the first
+commit](https://git.platypush.tech/platypush/platypush/commit/0b0d94fee3ab20e7f488072f624b4f33c527947a),
+and 10 years since the first release of its ancestor,
+[`evesp`](https://github.com/blacklight/evesp).
+
+The past few months have been quite hectic and I have nearly rewritten the
+whole codebase, but I feel like the software is now at a stage where it's
+mature and stable enough to be used by a larger audience.
+
+The changelog [is quite
+big](https://git.platypush.tech/platypush/platypush/src/branch/master/CHANGELOG.md#1-0-0-2024-05-26),
+but it doesn't even cover all the changes, as many integrations have been
+completely rewritten.
+
+Let's go over some of the changes in the 1.0 release.
+
+## All backends are gone or turned into plugins
+
+Probably the most confusing feature of Platypush was the separation between
+backends and plugins.
+
+This was a quirk of the original implementation, where plugins were pretty much
+stateless collections of actions and backends were background tasks that
+monitored a certain integration for new events.
+
+It ended up in a state where users had to write the same configuration twice
+(e.g. one section for `light.hue` and one for `backend.light.hue`), and/or
+where me as a developer had to maintain tight dependencies between integrations
+in order for them to share configuration.
+
+Those times are now gone. Backends should only do what backends are supposed to
+do - i.e. listen for external messages and dispatch them to the application. So
+the only ones that are still there are:
+
+- [`backend.http`](https://docs.platypush.tech/platypush/backend/http.html) -
+  the core Web server.
+
+- [`backend.nodered`](https://docs.platypush.tech/platypush/backend/nodered.html),
+  to listen for messages from a Node-RED instance.
+
+- [`backend.redis`](https://docs.platypush.tech/platypush/backend/redis.html),
+  used internally to dispatch messages across components, and it can also be
+  used by external scripts to dispatch application messages on localhost
+  bypassing the HTTP layer.
+
+- [`backend.tcp`](https://docs.platypush.tech/platypush/backend/tcp.html), the
+  legacy (and insecure) raw TCP listener.
+
+Besides them, all the other backends have now been merged into their respective
+plugins, so no more need for dual configuration. If the former backend had a
+logic that polled at regular intervals, then you can disable polling in the
+plugin by setting `poll_interval` to `null` in the plugin configuration, so you
+can still use the plugin as a stateless entity if you wish so.
+
+This is a quite big breaking change, so you may probably want to check out the
+[plugins reference on the documentation](https://docs.platypush.tech) to check
+for any configuration changes.
+
+## Better Docker support
+
+There's now an official
+[`docker-compose.yml`](https://git.platypush.tech/platypush/platypush/src/branch/master/docker-compose.yml),
+as well as multiple Dockerfiles that support
+[Alpine](https://git.platypush.tech/platypush/platypush/src/branch/master/platypush/install/docker/alpine.Dockerfile),
+[Debian](https://git.platypush.tech/platypush/platypush/src/branch/master/platypush/install/docker/debian.Dockerfile),
+[Ubuntu](https://git.platypush.tech/platypush/platypush/src/branch/master/platypush/install/docker/ubuntu.Dockerfile)
+and
+[Fedora](https://git.platypush.tech/platypush/platypush/src/branch/master/platypush/install/docker/fedora.Dockerfile)
+base images.
+
+The `platydock` and `platyvenv` scripts have also been rewritten. They are now
+much more stable and smarter in installing any extra required dependency.
+
+## Official packages for several package managers
+
+[Official
+packages](https://git.platypush.tech/platypush/platypush#system-package-manager-installation)
+have been added for
+[Debian](https://git.platypush.tech/platypush/platypush#debian-ubuntu) and
+[Fedora](https://git.platypush.tech/platypush/platypush#fedora), on top of
+those available for [Arch Linux](https://aur.archlinux.org/packages/platypush).
+
+Official Ubuntu packages are [also on their
+way](https://git.platypush.tech/platypush/platypush/issues/368).
+
+## Better `pip` extras installation
+
+Users previously had to dig through the `setup.py` file to get the `pip` extras
+supported by specific integrations.
+
+Not anymore. Extra dependencies are now dynamically parsed from the
+integrations' `manifest.json`, so you can install them simply via `pip install
+'platypush[plugin1,plugin2,...]'`.
+
+For example, `pip install 'platypush[light.hue,music.mpd]'` to install the
+dependencies required by the `light.hue` and `music.mpd` plugins.
+
+## A more intuitive way of creating custom Python scripts
+
+### Simpler directory structure
+
+Custom scripts are loaded as Python modules. This means that you need an
+`__init__.py` in each folder that hosts some Platypush custom scripts.
+
+Earlier users were required to manually create that file, but that's no longer
+the case.
+
+You can simply drop a `.py` file in any place under your scripts directory,
+with your procedures, event hooks, crons etc., and Platypush will automatically
+pick it up.
+
+### Simpler API
+
+Earlier scripts relied on an API like this:
+
+```
+from platypush.message.event.something import SomeEvent
+from platypush.event.hook import hook
+from platypush.procedure import procedure
+from platypush.utils import run
+
+@procedure
+def my_proc(**context):
+  ...
+
+@hook(SomeEvent)
+def event_hook(event, **context):
+  my_proc()
+```
+
+While this API is still supported, a new simplified version is now available
+too:
+
+```
+from platypush import procedure, when, run
+from platypush.events.something import SomeEvent
+
+# Note that custom procedure name overrides are now available, albeit optional
+@procedure('this_is_my_proc')
+# Arguments are no longer a requirement, either in procedure or hooks
+def my_proc():
+  ...
+
+@when(SomeEvent)
+# You can also omit event here if you don't need it
+def event_hook(event):
+  # Procedures can also be called directly via `run`
+  run('procedure.this_is_my_proc')
+```
+
+## Greatly improved documentation
+
+The [official documentation](https://docs.platypush.tech) has been greatly
+expanded, and it now includes all the wiki content too as well as a better UI
+for the available integrations (and also a filter bar).
+
+The documentation pages of the integrations have also been greatly improved to
+include ready-to-paste configuration snippets, installation commands for
+several package managers and a dynamically generated list of supported events
+and actions.
+
+## Removed all the custom `Response` objects
+
+Removed all `Response` objects outside of the root type. They are now all
+replaced by Marshmallow schemas with the structure automatically generated in
+the documentation.
+
+## Some new cool integrations are in
+
+The [`alarm`](https://git.platypush.tech/platypush/platypush/issues/340) plugin
+has been completely rewritten and paired to a powerful UI that allows you to
+set alarms as procedures.
+
+The old
+[`stt.picovoice.*`](https://git.platypush.tech/platypush/platypush/issues/304)
+have been replaced by a new
+[`assistant.picovoice`](https://docs.platypush.tech/platypush/plugins/assistant.picovoice.html)
+integration that provides all the features for a full-featured voice assistant.
+
+The
+[`youtube`](https://docs.platypush.tech/platypush/plugins/youtube.html) plugin
+has been rewritten too, it now relies on `yt-dlp` and it uses Piped instances
+instead of the (brittle and unstable) YouTube API. It's also been paired with a
+new UI that makes it easy to navigate your feeds, subscriptions and playlists.
+
+There's a new
+[`music.mopidy`](https://docs.platypush.tech/platypush/plugins/music.mopidy.html)
+integration too, which takes some parts of the old `music.mopidy` backend and
+add a full plugin around it which is 100% compatible with the API of the
+[`music.mpd`](https://docs.platypush.tech/platypush/plugins/music.mpd.html)
+plugin, on top of a new UI for it. This makes it easier to switch between `mpd`
+and `mopidy` implementations for your music servers, and also leverage the
+asynchronous nature of Mopidy's Web socket API to get real time events without
+polling.
+
+The `camera.pi` integration has been moved to
+[`camera.pi.legacy`](https://docs.platypush.tech/platypush/plugins/camera.pi.legacy.html)
+following the deprecation of the previous `picamera` library.
+
+[`camera.pi`](https://docs.platypush.tech/platypush/plugins/camera.pi.html) is
+now a new integration based on the recent `picamera2` module.
+
+A new
+[`openai`](https://docs.platypush.tech/platypush/plugins/openai.html)
+integration is now also available, making easy to programmatically get AI
+predictions anywhere. This can be particularly useful when paired with SST/TTS
+integrations like PicoVoice - you can implement custom voice assistants that
+use PicoVoice's libraries to do the speech/text conversion, and leverage
+ChatGPT's APIs to get plausible answers.
+
+## Some old stuff is out
+
+`google.fit` has been removed, as Google announced the deprecation of the API
+(which has already experienced stability issues for a while anyway).
+
+Same for `weather.darksky`, which has been purchased by Apple, which readily
+killed their amazing API. In turn, the `weather.openweathermap` integration has
+been empowered and it's compatible with the API of the former Darksky
+integration.
+
+The `wiimote` integration is also out. The underlying `cwiid` library hasn't
+been updated in years, and it keeps struggling with Python 3 too.
+
+Same fate goes for `stt.deepvoice`. DeepVoice was a very promising project from
+Mozilla to democratize speech-to-text, but it seems to be now abandoned, hasn't
+seen an update in years, and given Mozilla's financial woes it's unlikely to be
+resurrected any time soon.
+
+I hope that the progress on the PicoVoice integration side will make up the
+loss of the DeepSpeech integration.
+
+## And there's more to come
+
+There's a new [voice integration based on
+Whisper/GPT-4o](https://git.platypush.tech/platypush/platypush/issues/384) in
+the works too.
+
+A [dark theme for the
+UI](https://git.platypush.tech/platypush/platypush/issues/376).
+
+A new [Hue backend](https://git.platypush.tech/platypush/platypush/issues/282)
+that can make Platypush emulate the API of a Philips Hue bridge and control
+devices from the Hue app or any compatible clients.
+
+[Support for more native entities from more
+plugins](https://git.platypush.tech/platypush/platypush/milestone/4), so you
+can use the global entities view also to view cameras, control media players
+and run custom procedures.
+
+And there are two big features in the work to support [entity
+groups](https://git.platypush.tech/platypush/platypush/issues/244) and [entity
+scenes](https://git.platypush.tech/platypush/platypush/issues/245). These may
+not be must-have features anymore, now that all things can be customized with
+procedures, but it could greatly help those who come from other platforms and
+are used to these abstractions.
+
+And if you have more requests or questions, feel free to [open a
+ticket](https://git.platypush.tech/platypush/platypush/issues), [a
+PR](https://git.platypush.tech/platypush/platypush/pulls) or [ask on the Lemmy
+server](https://lemmy.platypush.tech/c/platypush).

From 1d90d5a317abfed9103b92a84d06d82542a3befe Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <fabio@manganiello.tech>
Date: Mon, 3 Jun 2024 13:08:57 +0200
Subject: [PATCH 09/18] Added new article on voice assistants

---
 ...of-voice-assistant-integrations-in-2024.md | 1253 +++++++++++++++++
 1 file changed, 1253 insertions(+)
 create mode 100644 markdown/The-state-of-voice-assistant-integrations-in-2024.md

diff --git a/markdown/The-state-of-voice-assistant-integrations-in-2024.md b/markdown/The-state-of-voice-assistant-integrations-in-2024.md
new file mode 100644
index 0000000..dc6b2da
--- /dev/null
+++ b/markdown/The-state-of-voice-assistant-integrations-in-2024.md
@@ -0,0 +1,1253 @@
+[//]: # (title: The state of voice assistant integrations in 2024)
+[//]: # (description: How to use Platypush to build your voice assistants. Featuring Google, OpenAI and Picovoice.)
+[//]: # (image: https://platypush-static.s3.nl-ams.scw.cloud/images/voice-assistant-2.png)
+[//]: # (author: Fabio Manganiello <fabio@platypush.tech>)
+[//]: # (published: 2024-06-02)
+
+Those who have been following my blog or used Platypush for a while probably
+know that I've put quite some efforts to get voice assistants rights over the
+past few years.
+
+I built my first (very primitive) voice assistant that used DCT+Markov models
+[back in 2008](https://github.com/blacklight/Voxifera), when the concept was
+still pretty much a science fiction novelty.
+
+Then I wrote [an article in
+2019](https://blog.platypush.tech/article/Build-your-customizable-voice-assistant-with-Platypush)
+and [one in
+2020](https://blog.platypush.tech/article/Build-custom-voice-assistants) on how
+to use several voice integrations in [Platypush](https://platypush.tech) to
+create custom voice assistants.
+
+## Everyone in those pictures is now dead
+
+Quite a few things have changed in this industry niche since I wrote my
+previous article. Most of the solutions that I covered back in the day,
+unfortunately, are gone in a way or another:
+
+- The `assistant.snowboy` integration is gone because unfortunately [Snowboy is
+  gone](https://github.com/Kitt-AI/snowboy). For a while you could still run
+  the Snowboy code with models that either you had previously downloaded from
+  their website or trained yourself, but my latest experience proved to be
+  quite unfruitful - it's been more than 4 years since the last commit on
+  Snowboy, and it's hard to get the code to even run.
+
+- The `assistant.alexa` integration is also gone, as Amazon [has stopped
+  maintaining the AVS SDK](https://github.com/alexa/avs-device-sdk). And I have
+  literally no clue of what Amazon's plans with the development of Alexa skills
+  are (if there are any plans at all).
+
+- The `stt.deepspeech` integration is also gone: [the project hasn't seen a
+  commit in 3 years](https://github.com/mozilla/DeepSpeech) and I even
+  struggled to get the latest code to run. Given the current financial
+  situation at Mozilla, and the fact that they're trying to cut as much as
+  possible on what they don't consider part of their core product, it's
+  very unlikely that DeepSpeech will be revived any time soon.
+
+- The `assistant.google` integration [is still
+  there](https://docs.platypush.tech/platypush/plugins/assistant.google.html),
+  but I can't make promises on how long it can be maintained. It uses the
+  [`google-assistant-library`](https://pypi.org/project/google-assistant-library/),
+  which was [deprecated in
+  2019](https://developers.google.com/assistant/sdk/release-notes). Google
+  replaced it with the [conversational
+  actions](https://developers.google.com/assistant/sdk/), which [was also
+  deprecated last year](https://developers.google.com/assistant/ca-sunset).
+  `<rant>`Put here your joke about Google building products with the shelf life
+  of a summer hit.`</rant>`
+
+- The `tts.mimic3` integration, a text model based on
+  [mimic3](https://github.com/MycroftAI/mimic3), part of the
+  [Mycroft](https://en.wikipedia.org/wiki/Mycroft_(software)) initiative, [is
+  still there](https://docs.platypush.tech/platypush/plugins/tts.mimic3.html),
+  but only because it's still possible to [spin up a Docker
+  image](https://hub.docker.com/r/mycroftai/mimic3) that runs mimic3. The whole
+  Mycroft project, however, [is now
+  defunct](https://community.openconversational.ai/t/update-from-the-ceo-part-1/13268),
+  and [the story of how it went
+  bankrupt](https://www.reuters.com/legal/transactional/appeals-court-says-judge-favored-patent-plaintiff-scorched-earth-case-2022-03-04/)
+  is a very sad story about the power that patent trolls have on startups. The
+  Mycroft initiative however seems to [have been picked up by the
+  community](https://community.openconversational.ai/), and something seems to
+  move in the space of fully open source and on-device voice models. I'll
+  definitely be looking with interest at what happens in that space, but the
+  project seems to be at a stage that is still a bit immature to justify an
+  investment into a new Platypush integration.
+
+## But not all hope is lost
+
+### `assistant.google`
+
+`assistant.google` may be relying on a dead library, but it's not dead (yet).
+The code still works, but you're a bit constrained on the hardware side - the
+assistant library only supports x86_64 and ARMv7 (namely, only Raspberry Pi 3
+and 4). No ARM64 (i.e. no Raspberry Pi 5), and even running it on other
+ARMv7-compatible devices has proved to be a challenge in some cases. Given the
+state of the library, it's safe to say that it'll never be supported on other
+platforms, but if you want to run your assistant on a device that is still
+supported then it should still work fine.
+
+I had however to do a few dirty packaging tricks to ensure that the assistant
+library code doesn't break badly on newer versions of Python. That code hasn't
+been touched in 5 years and it's starting to rot. It depends on ancient and
+deprecated Python libraries like [`enum34`](https://pypi.org/project/enum34/)
+and it needs some hammering to work - without breaking the whole Python
+environment in the process.
+
+For now, `pip install 'platypush[assistant.google]'` should do all the dirty
+work and get all of your assistant dependencies installed. But I can't promise
+I can maintain that code forever.
+
+### `assistant.picovoice`
+
+Picovoice has been a nice surprise in an industry niche where all the
+products that were available just 4 years ago are now dead.
+
+I described some of their products [in my previous
+articles](https://blog.platypush.tech/article/Build-custom-voice-assistants),
+and I even built a couple of `stt.picovoice.*` plugins for Platypush back in
+the day, but I didn't really put much effort in it.
+
+Their business model seemed a bit weird - along the lines of "you can test our
+products on x86_64, if you need an ARM build you should contact us as a
+business partner". And the quality of their products was also a bit
+disappointing compared to other mainstream offerings.
+
+I'm glad to see that the situation has changed quite a bit now. They still have
+a "sign up with a business email" model, but at least now you can just sign up
+on their website and start using their products rather than sending emails
+around. And I'm also quite impressed to see the progress on their website. You
+can now train hotword models, customize speech-to-text models and build your
+own intent rules directly from their website - a feature that was also
+available in the beloved Snowboy and that went missing from any major product
+offerings out there after Snowboy was gone. I feel like the quality of their
+models has also greatly improved compared to the last time I checked them -
+predictions are still slower than the Google Assistant, definitely less
+accurate with non-native accents, but the gap with the Google Assistant when it
+comes to native accents isn't very wide.
+
+### `assistant.openai`
+
+OpenAI has filled many gaps left by all the casualties in the voice assistants
+market. Platypush now provides a new `assistant.openai` plugin that stitches
+together several of their APIs to provide a voice assistant experience that
+honestly feels much more natural than anything I've tried in all these years.
+
+Let's explore how to use these integrations to build our on-device voice
+assistant with custom rules.
+
+## Feature comparison
+
+As some of you may know, voice assistant often aren't monolithic products.
+Unless explicitly designed as all-in-one packages (like the
+`google-assistant-library`), voice assistant integrations in Platypush are
+usually built on top of four distinct APIs:
+
+1. **Hotword detection**: This is the component that continuously listens on
+   your microphone until you speak "Ok Google", "Alexa" or any other wake-up
+   word used to start a conversation. Since it's a continuously listening
+   component that needs to take decisions fast, and it only has to recognize
+   one word (or in a few cases 3-4 more at most), it usually doesn't need to
+   run on a full language model. It needs small models, often a couple of MBs
+   heavy at most.
+
+2. **Speech-to-text** (*STT*): This is the component that will capture audio
+   from the microphone and use some API to transcribe it to text.
+
+3. **Response engine**: Once you have the transcription of what the user said,
+   you need to feed it to some model that will generate some human-like
+   response for the question.
+
+4. **Text-to-speech** (*TTS*): Once you have your AI response rendered as a
+   text string, you need a text-to-speech model to speak it out loud on your
+   speakers or headphones.
+
+On top of these basic building blocks for a voice assistant, some integrations
+may also provide two extra features.
+
+#### Speech-to-intent
+
+In this mode, the user's prompt, instead of being transcribed directly to text,
+is transcribed into a structured *intent* that can be more easily processed by
+a downstream integration with no need for extra text parsing, regular
+expressions etc.
+
+For instance, a voice command like "*turn off the bedroom lights*" could be
+translated into an intent such as:
+
+```json
+{
+  "intent": "lights_ctrl",
+  "slots": {
+    "state": "off",
+    "lights": "bedroom"
+  }
+}
+```
+
+#### Offline speech-to-text
+
+a.k.a. *offline text transcriptions*. Some assistant integrations may offer you
+the ability to pass some audio file and transcribe their content as text.
+
+### Features summary
+
+This table summarizes how the `assistant` integrations available in Platypush
+compare when it comes to what I would call the *foundational* blocks:
+
+|       Plugin          | Hotword | STT | AI responses | TTS |
+| --------------------- | ------- | --- | ------------ | --- |
+| `assistant.google`    | ✅      | ✅  | ✅           | ✅  |
+| `assistant.openai`    | ❌      | ✅  | ✅           | ✅  |
+| `assistant.picovoice` | ✅      | ✅  | ❌           | ✅  |
+
+And this is how they compare in terms of extra features:
+
+|       Plugin          | Intents | Offline SST |
+| --------------------- | ------- | ------------|
+| `assistant.google`    | ❌      | ❌          |
+| `assistant.openai`    | ❌      | ✅          |
+| `assistant.picovoice` | ✅      | ✅          |
+
+Let's see a few configuration examples to better understand the pros and cons
+of each of these integrations.
+
+## Configuration
+
+### Hardware requirements
+
+1. A computer, a Raspberry Pi, an old tablet, or anything in between, as long
+   as it can run Python. At least 1GB of RAM is advised for smooth audio
+   processing experience.
+
+2. A microphone.
+
+3. Speaker/headphones.
+
+### Installation notes
+
+[Platypush
+1.0.0](https://git.platypush.tech/platypush/platypush/src/branch/master/CHANGELOG.md#1-0-0-2024-05-26)
+has [recently been
+released](https://blog.platypush.tech/article/Platypush-1.0-is-out), and [new
+installation procedures](https://docs.platypush.tech/wiki/Installation.html)
+with it.
+
+There's now official support for [several package
+managers](https://docs.platypush.tech/wiki/Installation.html#system-package-manager-installation),
+a better [Docker installation
+process](https://docs.platypush.tech/wiki/Installation.html#docker), and more
+powerful ways to [install
+plugins](https://docs.platypush.tech/wiki/Plugins-installation.html) - via
+[`pip` extras](https://docs.platypush.tech/wiki/Plugins-installation.html#pip),
+[Web
+interface](https://docs.platypush.tech/wiki/Plugins-installation.html#web-interface),
+[Docker](https://docs.platypush.tech/wiki/Plugins-installation.html#docker) and
+[virtual
+environments](https://docs.platypush.tech/wiki/Plugins-installation.html#virtual-environment).
+
+The optional dependencies for any Platypush plugins can be installed via `pip`
+extras in the simplest case:
+
+```
+$ pip install 'platypush[plugin1,plugin2,...]'
+```
+
+For example, if you want to install Platypush with the dependencies for
+`assistant.openai` and `assistant.picovoice`:
+
+```
+$ pip install 'platypush[assistant.openai,assistant.picovoice]'
+```
+
+Some plugins however may require extra system dependencies that are not
+available via `pip` - for instance, both the OpenAI and Picovoice integrations
+require the `ffmpeg` binary to be installed, as it is used for audio
+conversion and exporting purposes. You can check the [plugins
+documentation](https://docs.platypush.tech) for any system dependencies
+required by some integrations, or install them automatically through the Web
+interface or the `platydock` command for Docker containers.
+
+### A note on the hooks
+
+All the custom actions in this article are built through event hooks triggered
+by
+[`SpeechRecognizedEvent`](https://docs.platypush.tech/platypush/events/assistant.html#platypush.message.event.assistant.SpeechRecognizedEvent)
+(or
+[`IntentRecognizedEvent`](https://docs.platypush.tech/platypush/events/assistant.html#platypush.message.event.assistant.IntentRecognizedEvent)
+for intents). When an intent event is triggered, or a speech event with a
+condition on a phrase, the `assistant` integrations in Platypush will prevent
+the default assistant response. That's to avoid cases where e.g. you say "*turn
+off the lights*", your hook takes care of running the actual action, while your
+voice assistant fetches a response from Google or ChatGPT along the lines of
+"*sorry, I can't control your lights*".
+
+If you want to render a custom response from an event hook, you can do so by
+calling `event.assistant.render_response(text)`, and it will be spoken using
+the available text-to-speech integration.
+
+If you want to disable this behaviour, and you want the default assistant
+response to always be rendered, even if it matches a hook with a phrase or an
+intent, you can do so by setting the `stop_conversation_on_speech_match`
+parameter to `false` in your assistant plugin configuration.
+
+### Text-to-speech
+
+Each of the available `assistant` plugins has it own default `tts` plugin associated:
+
+- `assistant.google`:
+  [`tts`](https://docs.platypush.tech/platypush/plugins/tts.html), but
+  [`tts.google`](https://docs.platypush.tech/platypush/plugins/tts.google.html)
+  is also available. The difference is that `tts` uses the (unofficial) Google
+  Translate frontend API - it requires no extra configuration, but besides
+  setting the input language it isn't very configurable. `tts.google` on the
+  other hand uses the [Google Cloud Translation
+  API](https://cloud.google.com/translate/docs/reference/rest/). It is much
+  more versatile, but it requires an extra API registered to your Google
+  project and an extra credentials file.
+
+- `assistant.openai`:
+  [`tts.openai`](https://docs.platypush.tech/platypush/plugins/tts.openai.html),
+  which leverages the [OpenAI
+  text-to-speech API](https://platform.openai.com/docs/guides/text-to-speech).
+
+- `assistant.picovoice`:
+  [`tts.picovoice`](https://docs.platypush.tech/platypush/plugins/tts.picovoice.html),
+  which uses the (still experimental, at the time of writing) [Picovoice Orca
+  engine](https://github.com/Picovoice/orca).
+
+Any text rendered via `assistant*.render_response` will be rendered using the
+associated TTS plugin. You can however customize it by setting `tts_plugin` on
+your assistant plugin configuration - e.g. you can render responses from the
+OpenAI assistant through the Google or Picovoice engine, or the other way
+around.
+
+`tts` plugins also expose a `say` action that can be called outside of an
+assistant context to render custom text at runtime - for example, from other
+[event
+hooks](https://docs.platypush.tech/wiki/Quickstart.html#turn-on-the-lights-when-i-say-so),
+[procedures](https://docs.platypush.tech/wiki/Quickstart.html#greet-me-with-lights-and-music-when-i-come-home),
+[cronjobs](https://docs.platypush.tech/wiki/Quickstart.html#turn-off-the-lights-at-1-am)
+or [API calls](https://docs.platypush.tech/wiki/APIs.html). For example:
+
+```bash
+$ curl -XPOST -H "Authorization: Bearer $TOKEN" -d '
+{
+  "type": "request",
+  "action": "tts.openai.say",
+  "args": {
+    "text": "What a wonderful day!"
+  }
+}
+' http://localhost:8008/execute
+```
+
+
+### `assistant.google`
+
+- [**Plugin documentation**](https://docs.platypush.tech/platypush/plugins/assistant.google.html)
+- `pip` installation: `pip install 'platypush[assistant.google]'`
+
+This is the oldest voice integration in Platypush - and one of the use-cases
+that actually motivated me into forking the [previous
+project](https://github.com/blacklight/evesp) into what is now Platypush.
+
+As mentioned in the previous section, this integration is built on top of a
+deprecated library (with no available alternatives) that just so happens to
+still work with a bit of hammering on x86_64 and Raspberry Pi 3/4.
+
+Personally it's the voice assistant I still use on most of my devices, but it's
+definitely not guaranteed that it will keep working in the future.
+
+Once you have installed Platypush with the dependencies for this integration,
+you can configure it through these steps:
+
+1. Create a new project on the [Google developers
+   console](https://console.cloud.google.com) and [generate a new set of
+   credentials for it](https://console.cloud.google.com/apis/credentials).
+   Download the credentials secrets as JSON.
+2. Generate [scoped
+   credentials](https://developers.google.com/assistant/sdk/guides/library/python/embed/install-sample#generate_credentials)
+   from your `secrets.json`.
+3. Configure the integration in your `config.yaml` for Platypush (see the
+   [configuration
+   page](https://docs.platypush.tech/wiki/Configuration.html#configuration-file)
+   for more details):
+
+```yaml
+assistant.google:
+  # Default: ~/.config/google-oauthlib-tool/credentials.json
+  # or <PLATYPUSH_WORKDIR>/credentials/google/assistant.json
+  credentials_file: /path/to/credentials.json
+  # Default: no sound is played when "Ok Google" is detected
+  conversation_start_sound: /path/to/sound.mp3
+```
+
+Restart the service, say "Ok Google" or "Hey Google" while the microphone is
+active, and everything should work out of the box.
+
+You can now start creating event hooks to execute your custom voice commands.
+For example, if you configured a lights plugin (e.g.
+[`light.hue`](https://docs.platypush.tech/platypush/plugins/light.hue.html))
+and a music plugin (e.g.
+[`music.mopidy`](https://docs.platypush.tech/platypush/plugins/music.mopidy.html)),
+you can start building voice commands like these:
+
+```python
+# Content of e.g. /path/to/config_yaml/scripts/assistant.py
+
+from platypush import run, when
+from platypush.events.assistant import (
+  ConversationStartEvent, SpeechRecognizedEvent
+)
+
+light_plugin = "light.hue"
+music_plugin = "music.mopidy"
+
+@when(ConversationStartEvent)
+def pause_music_when_conversation_starts():
+  run(f"{music_plugin}.pause_if_playing")
+
+# Note: (limited) support for regular expressions on `phrase`
+# This hook will match any phrase containing either "turn on the lights"
+# or "turn off the lights"
+@when(SpeechRecognizedEvent, phrase="turn on (the?) lights")
+def lights_on_command():
+  run(f"{light_plugin}.on")
+  # Or, with arguments:
+  # run(f"{light_plugin}.on", groups=["Bedroom"])
+
+@when(SpeechRecognizedEvent, phrase="turn off (the?) lights")
+def lights_off_command():
+  run(f"{light_plugin}.off")
+
+@when(SpeechRecognizedEvent, phrase="play (the?) music")
+def play_music_command():
+  run(f"{music_plugin}.play")
+
+@when(SpeechRecognizedEvent, phrase="stop (the?) music")
+def stop_music_command():
+  run(f"{music_plugin}.stop")
+```
+
+Or, via YAML:
+
+```yaml
+# Add to your config.yaml, or to one of the files included in it
+
+event.hook.pause_music_when_conversation_starts:
+  if:
+    type: platypush.message.event.ConversationStartEvent
+
+  then:
+    - action: music.mopidy.pause_if_playing
+
+event.hook.lights_on_command:
+  if:
+    type: platypush.message.event.SpeechRecognizedEvent
+    phrase: "turn on (the)? lights"
+
+  then:
+    - action: light.hue.on
+    # args:
+    #   groups:
+    #     - Bedroom
+
+event.hook.lights_off_command:
+  if:
+    type: platypush.message.event.SpeechRecognizedEvent
+    phrase: "turn off (the)? lights"
+
+  then:
+    - action: light.hue.off
+
+event.hook.play_music_command:
+  if:
+    type: platypush.message.event.SpeechRecognizedEvent
+    phrase: "play (the)? music"
+
+  then:
+    - action: music.mopidy.play
+
+event.hook.stop_music_command:
+  if:
+    type: platypush.message.event.SpeechRecognizedEvent
+    phrase: "stop (the)? music"
+
+  then:
+    - action: music.mopidy.stop
+```
+
+Parameters are also supported on the `phrase` event argument through the `${}` template construct. For example:
+
+```python
+from platypush import when, run
+from platypush.events.assistant import SpeechRecognizedEvent
+
+@when(SpeechRecognizedEvent, phrase='play ${title} by ${artist}')
+def on_play_track_command(
+    event: SpeechRecognizedEvent, title: str, artist: str
+):
+    results = run(
+        "music.mopidy.search",
+        filter={"title": title, "artist": artist}
+    )
+
+    if not results:
+        event.assistant.render_response(f"Couldn't find {title} by {artist}")
+        return
+
+    run("music.mopidy.play", resource=results[0]["uri"])
+```
+
+#### Pros
+
+- 👍 Very fast and robust API.
+- 👍 Easy to install and configure.
+- 👍 It comes with almost all the features of a voice assistant installed on
+  Google hardware - except some actions native to Android-based devices and
+  video/display features. This means that features such as timers, alarms,
+  weather forecast, setting the volume or controlling Chromecasts on the same
+  network are all supported out of the box.
+- 👍 It connects to your Google account (can be configured from your Google
+  settings), so things like location-based suggestions and calendar events are
+  available. Support for custom actions and devices configured in your Google
+  Home app is also available out of the box, although I haven't tested it in a
+  while.
+- 👍 Good multi-language support. In most of the cases the assistant seems
+  quite capable of understanding questions in multiple language and respond in
+  the input language without any further configuration.
+
+#### Cons
+
+- 👎 Based on a deprecated API that could break at any moment.
+- 👎 Limited hardware support (only x86_64 and RPi 3/4).
+- 👎 Not possible to configure the hotword - only "Ok/Hey Google" is available.
+- 👎 Not possible to configure the output voice - it can only use the stock
+  Google Assistant voice.
+- 👎 No support for intents - something similar was available (albeit tricky to
+  configure) through the Actions SDK, but that has also been abandoned by
+  Google.
+- 👎 Not very modular. Both `assistant.picovoice` and `assistant.openai` have
+  been built by stitching together different independent APIs. Those plugins
+  are therefore quite *modular*. You can choose for instance to run only the
+  hotword engine of `assistant.picovoice`, which in turn will trigger the
+  conversation engine of `assistant.openai`, and maybe use `tts.google` to
+  render the responses. By contrast, given the relatively monolithic nature of
+  `google-assistant-library`, which runs the whole service locally, if your
+  instance runs `assistant.google` then it can't run other assistant plugins.
+
+### `assistant.picovoice`
+
+- [**Plugin
+  documentation**](https://docs.platypush.tech/platypush/plugins/assistant.picovoice.html)
+- `pip` installation: `pip install 'platypush[assistant.picovoice]'`
+
+The `assistant.picovoice` integration is available from [Platypush
+1.0.0](https://git.platypush.tech/platypush/platypush/src/branch/master/CHANGELOG.md#1-0-0-2024-05-26).
+
+Previous versions had some outdated `sst.picovoice.*` plugins for the
+individual products, but they weren't properly tested and they weren't combined
+together into a single integration that implements the Platypush' `assistant`
+API.
+
+This integration is built on top of the voice products developed by
+[Picovoice](https://picovoice.ai/). These include:
+
+- [**Porcupine**](https://picovoice.ai/platform/porcupine/): a fast and
+  customizable engine for hotword/wake-word detection. It can be enabled by
+  setting `hotword_enabled` to `true` in the `assistant.picovoice` plugin
+  configuration.
+
+- [**Cheetah**](https://picovoice.ai/docs/cheetah/): a speech-to-text engine
+  optimized for real-time transcriptions. It can be enabled by setting
+  `stt_enabled` to `true` in the `assistant.picovoice` plugin configuration.
+
+- [**Leopard**](https://picovoice.ai/docs/leopard/): a speech-to-text engine
+  optimized for offline transcriptions of audio files.
+
+- [**Rhino**](https://picovoice.ai/docs/rhino/): a speech-to-intent engine.
+
+- [**Orca**](https://picovoice.ai/docs/orca/): a text-to-speech engine.
+
+You can get your personal access key by signing up at the [Picovoice
+console](https://console.picovoice.ai/). You may be asked to submit a reason
+for using the service (feel free to mention a personal Platypush integration),
+and you will receive your personal access key.
+
+If prompted to select the products you want to use, make sure to select
+the ones from the Picovoice suite that you want to use with the
+`assistant.picovoice` plugin.
+
+A basic plugin configuration would like this:
+
+```yaml
+assistant.picovoice:
+  access_key: YOUR_ACCESS_KEY
+
+  # Keywords that the assistant should listen for
+  keywords:
+    - alexa
+    - computer
+    - ok google
+
+  # Paths to custom keyword files
+  # keyword_paths:
+  #   - ~/.local/share/picovoice/keywords/linux/custom_linux.ppn
+
+  # Enable/disable the hotword engine
+  hotword_enabled: true
+  # Enable the STT engine
+  stt_enabled: true
+
+  # conversation_start_sound: ...
+
+  # Path to a custom model to be used to speech-to-text
+  # speech_model_path: ~/.local/share/picovoice/models/cheetah/custom-en.pv
+
+  # Path to an intent model. At least one custom intent model is required if
+  # you want to enable intent detection.
+  # intent_model_path: ~/.local/share/picovoice/models/rhino/custom-en-x86.rhn
+```
+
+#### Hotword detection
+
+If enabled through the `hotword_enabled` parameter (default: True), the
+assistant will listen for a specific wake word before starting the
+speech-to-text or intent recognition engines. You can specify custom models for
+your hotword (e.g. on the same device you may use "Alexa" to trigger the
+speech-to-text engine in English, "Computer" to trigger the speech-to-text
+engine in Italian, and "Ok Google" to trigger the intent recognition engine).
+
+You can also create your custom hotword models using the [Porcupine
+console](https://console.picovoice.ai/ppn).
+
+If `hotword_enabled` is set to True, you must also specify the `keywords`
+parameter with the list of keywords that you want to listen for, and optionally
+the `keyword_paths` parameter with the paths to the any custom hotword models
+that you want to use. If `hotword_enabled` is set to False, then the assistant
+won't start listening for speech after the plugin is started, and you will need
+to programmatically start the conversation by calling the
+`assistant.picovoice.start_conversation` action.
+
+When a wake-word is detected, the assistant will emit a
+[`HotwordDetectedEvent`](https://docs.platypush.tech/platypush/events/assistant.html#platypush.message.event.assistant.HotwordDetectedEvent)
+that you can use to build your custom logic.
+
+By default, the assistant will start listening for speech after the hotword if
+either `stt_enabled` or `intent_model_path` are set. If you don't want the
+assistant to start listening for speech after the hotword is detected (for
+example because you want to build your custom response flows, or trigger the
+speech detection using different models depending on the hotword that is used,
+or because you just want to detect hotwords but not speech), then you can also
+set the `start_conversation_on_hotword` parameter to `false`. If that is the
+case, then you can programmatically start the conversation by calling the
+`assistant.picovoice.start_conversation` method in your event hooks:
+
+```python
+from platypush import when, run
+from platypush.message.event.assistant import HotwordDetectedEvent
+
+# Start a conversation using the Italian language model when the
+# "Buongiorno" hotword is detected
+@when(HotwordDetectedEvent, hotword='Buongiorno')
+def on_it_hotword_detected(event: HotwordDetectedEvent):
+    event.assistant.start_conversation(model_file='path/to/it.pv')
+```
+
+#### Speech-to-text
+
+If you want to build your custom STT hooks, the approach is the same seen for
+the `assistant.google` plugins - create an event hook on
+[`SpeechRecognizedEvent`](https://docs.platypush.tech/platypush/events/assistant.html#platypush.message.event.assistant.SpeechRecognizedEvent)
+with a given exact phrase, regex or template.
+
+#### Speech-to-intent
+
+
+*Intents* are structured actions parsed from unstructured human-readable text.
+
+Unlike with hotword and speech-to-text detection, you need to provide a
+custom model for intent detection. You can create your custom model using
+the [Rhino console](https://console.picovoice.ai/rhn).
+
+When an intent is detected, the assistant will emit an
+[`IntentRecognizedEvent`](https://docs.platypush.tech/platypush/events/assistant.html#platypush.message.event.assistant.IntentRecognizedEvent)
+and you can build your custom hooks on it.
+
+For example, you can build a model to control groups of smart lights by
+defining the following slots on the Rhino console:
+
+- ``device_state``: The new state of the device (e.g. with ``on`` or
+  ``off`` as supported values)
+
+- ``room``: The name of the room associated to the group of lights to
+  be controlled (e.g. ``living room``, ``kitchen``, ``bedroom``)
+
+You can then define a ``lights_ctrl`` intent with the following expressions:
+
+- "*turn ``$device_state:state`` the lights*"
+- "*turn ``$device_state:state`` the ``$room:room`` lights*"
+- "*turn the lights ``$device_state:state``*"
+- "*turn the ``$room:room`` lights ``$device_state:state``*"
+- "*turn ``$room:room`` lights ``$device_state:state``*"
+
+This intent will match any of the following phrases:
+
+- "*turn on the lights*"
+- "*turn off the lights*"
+- "*turn the lights on*"
+- "*turn the lights off*"
+- "*turn on the living room lights*"
+- "*turn off the living room lights*"
+- "*turn the living room lights on*"
+- "*turn the living room lights off*"
+
+And it will extract any slots that are matched in the phrases in the
+[`IntentRecognizedEvent`](https://docs.platypush.tech/platypush/events/assistant.html#platypush.message.event.assistant.IntentRecognizedEvent).
+
+Train the model, download the context file, and pass the path on the
+``intent_model_path`` parameter.
+
+You can then register a hook to listen to a specific intent:
+
+```python
+from platypush import when, run
+from platypush.events.assistant import IntentRecognizedEvent
+
+@when(IntentRecognizedEvent, intent='lights_ctrl', slots={'state': 'on'})
+def on_turn_on_lights(event: IntentRecognizedEvent):
+    room = event.slots.get('room')
+    if room:
+        run("light.hue.on", groups=[room])
+    else:
+        run("light.hue.on")
+```
+
+Note that if both `stt_enabled` and `intent_model_path` are set, then
+both the speech-to-text and intent recognition engines will run in parallel
+when a conversation is started.
+
+The intent engine is usually faster, as it has a smaller set of intents to
+match and doesn't have to run a full speech-to-text transcription. This means that,
+if an utterance matches both a speech-to-text phrase and an intent, the
+`IntentRecognizedEvent` event is emitted (and not `SpeechRecognizedEvent`).
+
+This may not be always the case though. So, if you want to use the intent
+detection engine together with the speech detection, it may be a good practice
+to also provide a fallback `SpeechRecognizedEvent` hook to catch the text if
+the speech is not recognized as an intent:
+
+```python
+from platypush import when, run
+from platypush.events.assistant import SpeechRecognizedEvent
+
+@when(SpeechRecognizedEvent, phrase='turn ${state} (the)? ${room} lights?')
+def on_turn_on_lights(event: SpeechRecognizedEvent, phrase, room, **context):
+    if room:
+        run("light.hue.on", groups=[room])
+    else:
+        run("light.hue.on")
+```
+
+#### Text-to-speech and response management
+
+The text-to-speech engine, based on Orca, is provided by the
+[`tts.picovoice`](https://docs.platypush.tech/platypush/plugins/tts.picovoice.html)
+plugin.
+
+However, the Picovoice integration won't provide you with automatic
+AI-generated responses for your queries. That's because Picovoice doesn't seem
+to offer (yet) any products for conversational assistants, either voice-based
+or text-based.
+
+You can however leverage the `render_response` action to render some text as
+speech in response to a user command, and that in turn will leverage the
+Picovoice TTS plugin to render the response.
+
+For example, the following snippet provides a hook that:
+
+- Listens for `SpeechRecognizedEvent`.
+
+- Matches the phrase against a list of predefined commands that shouldn't
+  require an AI-generated response.
+
+- Has a fallback logic that leverages `openai.get_response` to generate a
+  response through a ChatGPT model and render it as audio.
+
+Also, note that any text rendered over the `render_response` action that ends
+with a question mark will automatically trigger a follow-up - i.e. the
+assistant will wait for the user to answer its question.
+
+```python
+import re
+
+from platypush import hook, run
+from platypush.message.event.assistant import SpeechRecognizedEvent
+
+def play_music():
+    run("music.mopidy.play")
+
+def stop_music():
+    run("music.mopidy.stop")
+
+def ai_assist(event: SpeechRecognizedEvent):
+    response = run("openai.get_response", prompt=event.phrase)
+    if not response:
+        return
+
+    run("assistant.picovoice.render_response", text=response)
+
+# List of commands to match, as pairs of regex patterns and the
+# corresponding actions
+hooks = (
+    (re.compile(r"play (the)?music", re.IGNORECASE), play_music),
+    (re.compile(r"stop (the)?music", re.IGNORECASE), stop_music),
+    # Fallback to the AI assistant
+    (re.compile(r".*"), ai_assist),
+)
+
+@when(SpeechRecognizedEvent)
+def on_speech_recognized(event, **kwargs):
+    for pattern, command in hooks:
+        if pattern.search(event.phrase):
+            run("logger.info", msg=f"Running voice command: {command.__name__}")
+            command(event, **kwargs)
+            break
+```
+
+#### Offline speech-to-text
+
+An [`assistant.picovoice.transcribe`
+action](https://docs.platypush.tech/platypush/plugins/assistant.picovoice.html#platypush.plugins.assistant.picovoice.AssistantPicovoicePlugin.transcribe)
+is provided for offline transcriptions of audio files, using the Leopard
+models.
+
+You can easily call it from your procedures, hooks or through the API:
+
+```bash
+$ curl -XPOST -H "Authorization: Bearer $TOKEN" -d '
+{
+  "type": "request",
+  "action": "assistant.picovoice.transcribe",
+  "args": {
+    "audio_file": "/path/to/some/speech.mp3"
+  }
+}' http://localhost:8008/execute
+
+{
+  "transcription": "This is a test",
+  "words": [
+    {
+      "word": "this",
+      "start": 0.06400000303983688,
+      "end": 0.19200000166893005,
+      "confidence": 0.9626294374465942
+    },
+    {
+      "word": "is",
+      "start": 0.2879999876022339,
+      "end": 0.35199999809265137,
+      "confidence": 0.9781675934791565
+    },
+    {
+      "word": "a",
+      "start": 0.41600000858306885,
+      "end": 0.41600000858306885,
+      "confidence": 0.9764975309371948
+    },
+    {
+      "word": "test",
+      "start": 0.5120000243186951,
+      "end": 0.8320000171661377,
+      "confidence": 0.9511580467224121
+    }
+  ]
+}
+```
+
+#### Pros
+
+- 👍 The Picovoice integration is extremely configurable. `assistant.picovoice`
+  stitches together five independent products developed by a small company
+  specialized in voice products for developers. As such, Picovoice may be the
+  best option if you have custom use-cases. You can pick which features you
+  need (hotword, speech-to-text, speech-to-intent, text-to-speech...) and you
+  have plenty of flexibility in building your integrations.
+
+- 👍 Runs (or seems to run) (mostly) on device. This is something that we can't
+  say about the other two integrations discussed in this article. If keeping
+  your voice interactions 100% hidden from Google's or Microsoft's eyes is a
+  priority, then Picovoice may be your best bet.
+
+- 👍 Rich features. It uses different models for different purposes - for
+  example, Cheetah models are optimized for real-time speech detection, while
+  Leopard is optimized for offline transcription. Moreover, Picovoice is the
+  only integration among those analyzed in this article to support
+  speech-to-intent.
+
+- 👍 It's very easy to build new models or customize existing ones. Picovoice
+  has a powerful developers console that allows you to easily create hotword
+  models, tweak the priority of some words in voice models, and create custom
+  intent models.
+
+#### Cons
+
+- 👎 The business model is still a bit weird. It's better than the earlier
+  "*write us an email with your business case and we'll reach back to you*",
+  but it still requires you to sign up with a business email and write a couple
+  of lines on what you want to build with their products. It feels like their
+  focus is on a B2B approach rather than "open up and let the community build
+  stuff", and that seems to create unnecessary friction.
+
+- 👎 No native conversational features. At the time of writing, Picovoice
+  doesn't offer products that generate AI responses given voice or text
+  prompts. This means that, if you want AI-generated responses to your queries,
+  you'll have to do requests to e.g.
+  [`openai.get_response(prompt)`](https://docs.platypush.tech/platypush/plugins/openai.html#platypush.plugins.openai.OpenaiPlugin.get_response)
+  directly in your hooks for `SpeechRecognizedEvent`, and render the responses
+  through `assistant.picovoice.render_response`. This makes the use of
+  `assistant.picovoice` alone more fit to cases where you want to mostly create
+  voice command hooks rather than have general-purpose conversations.
+
+- 👎 Speech-to-text, at least on my machine, is slower than the other two
+  integrations, and the accuracy with non-native accents is also much lower.
+
+- 👎 Limited support for any languages other than English. At the time of
+  writing hotword detection with Porcupine seems to be in a relative good shape
+  with [support for 16
+  languages](https://github.com/Picovoice/porcupine/tree/master/lib/common).
+  However, both speech-to-text and text-to-speech only support English at the
+  moment.
+
+- 👎 Some APIs are still quite unstable. The Orca text-to-speech API, for
+  example, doesn't even support text that includes digits or some punctuation
+  characters - at least not at the time of writing. The Platypush integration
+  fills the gap with workarounds that e.g. replace words to numbers and replace
+  punctuation characters, but you definitely have a feeling that some parts of
+  their products are still work in progress.
+
+### `assistant.openai`
+
+- [**Plugin
+  documentation**](https://docs.platypush.tech/platypush/plugins/assistant.openai.html)
+- `pip` installation: `pip install 'platypush[assistant.openai]'`
+
+This integration has been released in [Platypush
+1.0.7](https://git.platypush.tech/platypush/platypush/src/branch/master/CHANGELOG.md#1-0-7-2024-06-02).
+
+It uses the following OpenAI APIs:
+
+- [`/audio/transcriptions`](https://platform.openai.com/docs/guides/speech-to-text)
+  for speech-to-text. At the time of writing the default model is `whisper-1`.
+  It can be configured through the `model` setting on the `assistant.openai`
+  plugin configuration. See the [OpenAI
+  documentation](https://platform.openai.com/docs/models/whisper) for a list of
+  available models.
+- [`/chat/completions`](https://platform.openai.com/docs/api-reference/completions/create)
+  to get AI-generated responses using a GPT model. At the time of writing the
+  default is `gpt-3.5-turbo`, but it can be configurable through the `model`
+  setting on the `openai` plugin configuration. See the [OpenAI
+  documentation](https://platform.openai.com/docs/models) for a list of supported models.
+- [`/audio/speech`](https://platform.openai.com/docs/guides/text-to-speech) for
+  text-to-speech. At the time of writing the default model is `tts-1` and the
+  default voice is `nova`. They can be configured through the `model` and
+  `voice` settings respectively on the `tts.openai` plugin. See the OpenAI
+  documentation for a list of available
+  [models](https://platform.openai.com/docs/models/tts) and
+  [voices](https://platform.openai.com/docs/guides/text-to-speech/voice-options).
+
+You will need an [OpenAI API key](https://platform.openai.com/api-keys)
+associated to your account.
+
+A basic configuration would like this:
+
+```yaml
+openai:
+  api_key: YOUR_OPENAI_API_KEY  # Required
+  # conversation_start_sound: ...
+  # model: ...
+  # context: ...
+  # context_expiry: ...
+  # max_tokens: ...
+
+assistant.openai:
+  # model: ...
+  # tts_plugin: some.other.tts.plugin
+
+tts.openai:
+  # model: ...
+  # voice: ...
+```
+
+If you want to build your custom hooks on speech events, the approach is the
+same seen for the other `assistant` plugins - create an event hook on
+[`SpeechRecognizedEvent`](https://docs.platypush.tech/platypush/events/assistant.html#platypush.message.event.assistant.SpeechRecognizedEvent)
+with a given exact phrase, regex or template.
+
+#### Hotword support
+
+OpenAI doesn't provide an API for hotword detection, nor a small model for
+offline detection.
+
+This means that, if no other `assistant` plugins with stand-alone hotword
+support are configured (only `assistant.picovoice` for now), a conversation can
+only be triggered by calling the `assistant.openai.start_conversation` action.
+
+If you want hotword support, then the best bet is to add `assistant.picovoice`
+to your configuration too - but make sure to only enable hotword detection and
+not speech detection, which will be delegated to `assistant.openai` via event
+hook:
+
+```yaml
+assistant.picovoice:
+  access_key: ...
+  keywords:
+    - computer
+
+  hotword_enabled: true
+  stt_enabled: false
+  # conversation_start_sound: ...
+```
+
+Then create a hook that listens for
+[`HotwordDetectedEvent`](https://docs.platypush.tech/platypush/events/assistant.html#platypush.message.event.assistant.HotwordDetectedEvent)
+and calls `assistant.openai.start_conversation`:
+
+```python
+from platypush import run, when
+from platypush.events.assistant import HotwordDetectedEvent
+
+@when(HotwordDetectedEvent, hotword="computer")
+def on_hotword_detected():
+  run("assistant.openai.start_conversation")
+```
+
+#### Conversation contexts
+
+The most powerful feature offered by the OpenAI assistant is the fact that it
+leverages the *conversation contexts* provided by the OpenAI API.
+
+This means two things:
+
+1. Your assistant can be initialized/tuned with a *static context*. It is
+   possible to provide some initialization context to the assistant that can
+   fine tune how the assistant will behave, (e.g. what kind of
+   tone/language/approach will have when generating the responses), as well as
+   initialize the assistant with some predefined knowledge in the form of
+   hypothetical past conversations. Example:
+
+   ```yaml
+   openai:
+       ...
+
+       context:
+           # `system` can be used to initialize the context for the expected tone
+           # and language in the assistant responses
+           - role: system
+             content: >
+                 You are a voice assistant that responds to user queries using
+                 references to Lovecraftian lore.
+
+           # `user`/`assistant` interactions can be used to initialize the
+           # conversation context with previous knowledge. `user` is used to
+           # emulate previous user questions, and `assistant` models the
+           # expected response.
+           - role: user
+             content: What is a telephone?
+           - role: assistant
+             content: >
+                 A Cthulhuian device that allows you to communicate with
+                 otherworldly beings. It is said that the first telephone was
+                 created by the Great Old Ones themselves, and that it is a
+                 gateway to the void beyond the stars.
+   ```
+
+   If you now start Platypush and ask a question like "*how does it work?*",
+   the voice assistant may give a response along the lines of:
+
+   ```
+   The telephone functions by harnessing the eldritch energies of the cosmos to
+   transmit vibrations through the ether, allowing communication across vast
+   distances with entities from beyond the veil. Its operation is shrouded in
+   mystery, for it relies on arcane principles incomprehensible to mortal
+   minds.
+   ```
+
+   Note that:
+
+   1. The style of the response is consistent with that initialized in the
+      `context` through `system` roles.
+
+   2. Even though a question like "*how does it work?*" is not very specific,
+      the assistant treats the `user`/`assistant` entries given in the context
+      as if they were the latest conversation prompts. Thus it realizes that
+      "*it*", in this context, probably means "*the telephone*".
+
+2. The assistant has a *runtime context*. It will remember the recent
+   conversations for a given amount of time (configurable through the
+   `context_expiry` setting on the `openai` plugin configuration). So, even
+   without explicit context initialization in the `openai` plugin, the plugin
+   will remember the last interactions for (by default) 10 minutes. So if you
+   ask "*who wrote the Divine Comedy?*", and a few seconds later you ask
+   "*where was its writer from?*", you may get a response like "*Florence,
+   Italy*" - i.e. the assistant realizes that "*the writer*" in this context is
+   likely to mean "*the writer of the work that I was asked about in the
+   previous interaction*" and return pertinent information.
+
+#### Pros
+
+- 👍 Speech detection quality. The OpenAI speech-to-text features are the best
+  among the available `assistant` integrations. The `transcribe` API so far has
+  detected my non-native English accent right nearly 100% of the times (Google
+  comes close to 90%, while Picovoice trails quite behind). And it even detects
+  the speech of my young kid - something that the Google Assistant library has
+  always failed to do right.
+
+- 👍 Text-to-speech quality. The voice models used by OpenAI sound much more
+  natural and human than those of both Google and Picovoice. Google's and
+  Picovoice's TTS models are actually already quite solid, but OpenAI
+  outclasses them when it comes to voice modulation, inflections and sentiment.
+  The result sounds intimidatingly realistic.
+
+- 👍 AI responses quality. While the scope of the Google Assistant is somewhat
+  limited by what people expected from voice assistants until a few years ago
+  (control some devices and gadgets, find my phone, tell me the news/weather,
+  do basic Google searches...), usually without much room for follow-ups,
+  `assistant.openai` will basically render voice responses as if you were
+  typing them directly to ChatGPT. While Google would often respond you with a
+  "*sorry, I don't understand*", or "*sorry, I can't help with that*", the
+  OpenAI assistant is more likely to expose its reasoning, ask follow-up
+  questions to refine its understanding, and in general create a much more
+  realistic conversation.
+
+- 👍 Contexts. They are an extremely powerful way to initialize your assistant
+  and customize it to speak the way you want, and know the kind of things that
+  you want it to know. Cross-conversation contexts with configurable expiry
+  also make it more natural to ask something, get an answer, and then ask
+  another question about the same topic a few seconds later, without having to
+  reintroduce the assistant to the whole context.
+
+- 👍 Offline transcriptions available through the `openai.transcribe` action.
+
+- 👍 Multi-language support seems to work great out of the box. Ask something
+  to the assistant in any language, and it'll give you a response in that
+  language.
+
+- 👍 Configurable voices and models.
+
+#### Cons
+
+- 👎 The full pack of features is only available if you have an API key
+  associated to a paid OpenAI account.
+
+- 👎 No hotword support. It relies on `assistant.picovoice` for hotword
+  detection.
+
+- 👎 No intents support.
+
+- 👎 No native support for weather forecast, alarms, timers, integrations with
+  other services/devices nor other features available out of the box with the
+  Google Assistant. You can always create hooks for them though.
+
+### Weather forecast example
+
+Both the OpenAI and Picovoice integrations lack some features available out of
+the box on the Google Assistant - weather forecast, news playback, timers etc. -
+as they rely on voice-only APIs that by default don't connect to other services.
+
+However Platypush provides many plugins to fill those gaps, and those features
+can be implemented with custom event hooks.
+
+Let's see for example how to build a simple hook that delivers the weather
+forecast for the next 24 hours whenever the assistant gets a phrase that
+contains the "*weather today*" string.
+
+You'll need to enable a `weather` plugin in Platypush -
+[`weather.openweathermap`](https://docs.platypush.tech/platypush/plugins/weather.openweathermap.html)
+will be used in this example. Configuration:
+
+```yaml
+weather.openweathermap:
+  token: OPENWEATHERMAP_API_KEY
+  location: London,GB
+```
+
+Then drop a script named e.g. `weather.py` in the Platypush scripts directory
+(default: `<CONFDIR>/scripts`) with the following content:
+
+```python
+from datetime import datetime
+from textwrap import dedent
+from time import time
+
+from platypush import run, when
+from platypush.events.assistant import SpeechRecognizedEvent
+
+@when(SpeechRecognizedEvent, phrase='weather today')
+def weather_forecast(event: SpeechRecognizedEvent):
+    limit = time() + 24 * 60 * 60  # 24 hours from now
+    forecast = [
+        weather
+        for weather in run("weather.openweathermap.get_forecast")
+        if datetime.fromisoformat(weather["time"]).timestamp() < limit
+    ]
+
+    min_temp = round(
+        min(weather["temperature"] for weather in forecast)
+    )
+    max_temp = round(
+        max(weather["temperature"] for weather in forecast)
+    )
+    max_wind_gust = round(
+        (max(weather["wind_gust"] for weather in forecast)) * 3.6
+    )
+    summaries = [weather["summary"] for weather in forecast]
+    most_common_summary = max(summaries, key=summaries.count)
+    avg_cloud_cover = round(
+        sum(weather["cloud_cover"] for weather in forecast) / len(forecast)
+    )
+
+    event.assistant.render_response(
+        dedent(
+            f"""
+            The forecast for today is: {most_common_summary}, with
+            a minimum of {min_temp} and a maximum of {max_temp}
+            degrees, wind gust of {max_wind_gust} km/h, and an
+            average cloud cover of {avg_cloud_cover}%.
+            """
+        )
+    )
+```
+
+This script will work with any of the available voice assistants.
+
+You can also implement something similar for news playback, for example using
+the [`rss` plugin](https://docs.platypush.tech/platypush/plugins/rss.html) to
+get the latest items in your subscribed feeds. Or to create custom alarms using
+the [`alarm` plugin](https://docs.platypush.tech/platypush/plugins/alarm.html),
+or a timer using the [`utils.set_timeout`
+action](https://docs.platypush.tech/platypush/plugins/utils.html#platypush.plugins.utils.UtilsPlugin.set_timeout).
+
+## Conclusions
+
+The past few years have seen a lot of things happen in the voice industry.
+Many products have gone out of market, been deprecated or sunset, but not all
+hope is lost. The OpenAI and Picovoice products, especially when combined
+together, can still provide a good out-of-the-box voice assistant experience.
+And the OpenAI products have also raised the bar on what to expect from an
+AI-based assistant.
+
+I wish that there were still some fully open and on-device alternatives out
+there, now that Mycroft, Snowboy and DeepSpeech are all gone. OpenAI and Google
+provide the best voice experience as of now, but of course they come with
+trade-offs - namely the great amount of data points you feed to these
+cloud-based services. Picovoice is somewhat a trade-off, as it runs at least
+partly on-device, but their business model is still a bit fuzzy and it's not
+clear whether they intend to have their products used by the wider public or if
+it's mostly B2B.
+
+I'll keep an eye however on what is going to come from the ashes of Mycroft
+under the form of the
+[OpenConversational](https://community.openconversational.ai/) project, and
+probably keep you up-to-date when there is a new integration to share.

From 9ce776edfaf579fc04b02445cafa33f0cbdd13b4 Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <fabio@manganiello.tech>
Date: Mon, 3 Jun 2024 15:22:43 +0200
Subject: [PATCH 10/18] Fixed code typo

---
 .../The-state-of-voice-assistant-integrations-in-2024.md  | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/markdown/The-state-of-voice-assistant-integrations-in-2024.md b/markdown/The-state-of-voice-assistant-integrations-in-2024.md
index dc6b2da..d1a4c40 100644
--- a/markdown/The-state-of-voice-assistant-integrations-in-2024.md
+++ b/markdown/The-state-of-voice-assistant-integrations-in-2024.md
@@ -411,21 +411,21 @@ def pause_music_when_conversation_starts():
 # Note: (limited) support for regular expressions on `phrase`
 # This hook will match any phrase containing either "turn on the lights"
 # or "turn off the lights"
-@when(SpeechRecognizedEvent, phrase="turn on (the?) lights")
+@when(SpeechRecognizedEvent, phrase="turn on (the)? lights")
 def lights_on_command():
   run(f"{light_plugin}.on")
   # Or, with arguments:
   # run(f"{light_plugin}.on", groups=["Bedroom"])
 
-@when(SpeechRecognizedEvent, phrase="turn off (the?) lights")
+@when(SpeechRecognizedEvent, phrase="turn off (the)? lights")
 def lights_off_command():
   run(f"{light_plugin}.off")
 
-@when(SpeechRecognizedEvent, phrase="play (the?) music")
+@when(SpeechRecognizedEvent, phrase="play (the)? music")
 def play_music_command():
   run(f"{music_plugin}.play")
 
-@when(SpeechRecognizedEvent, phrase="stop (the?) music")
+@when(SpeechRecognizedEvent, phrase="stop (the)? music")
 def stop_music_command():
   run(f"{music_plugin}.stop")
 ```

From 3b7bdda990a735561b83199d6be970c78d035e89 Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <fabio@manganiello.tech>
Date: Mon, 3 Jun 2024 16:43:36 +0200
Subject: [PATCH 11/18] Minor fixes

---
 ...of-voice-assistant-integrations-in-2024.md | 47 ++++++++++---------
 1 file changed, 24 insertions(+), 23 deletions(-)

diff --git a/markdown/The-state-of-voice-assistant-integrations-in-2024.md b/markdown/The-state-of-voice-assistant-integrations-in-2024.md
index d1a4c40..3170262 100644
--- a/markdown/The-state-of-voice-assistant-integrations-in-2024.md
+++ b/markdown/The-state-of-voice-assistant-integrations-in-2024.md
@@ -803,6 +803,7 @@ def ai_assist(event: SpeechRecognizedEvent):
 hooks = (
     (re.compile(r"play (the)?music", re.IGNORECASE), play_music),
     (re.compile(r"stop (the)?music", re.IGNORECASE), stop_music),
+    # ...
     # Fallback to the AI assistant
     (re.compile(r".*"), ai_assist),
 )
@@ -1037,31 +1038,31 @@ This means two things:
    initialize the assistant with some predefined knowledge in the form of
    hypothetical past conversations. Example:
 
-   ```yaml
-   openai:
-       ...
+```yaml
+openai:
+   ...
 
-       context:
-           # `system` can be used to initialize the context for the expected tone
-           # and language in the assistant responses
-           - role: system
-             content: >
-                 You are a voice assistant that responds to user queries using
-                 references to Lovecraftian lore.
+   context:
+       # `system` can be used to initialize the context for the expected tone
+       # and language in the assistant responses
+       - role: system
+         content: >
+             You are a voice assistant that responds to user queries using
+             references to Lovecraftian lore.
 
-           # `user`/`assistant` interactions can be used to initialize the
-           # conversation context with previous knowledge. `user` is used to
-           # emulate previous user questions, and `assistant` models the
-           # expected response.
-           - role: user
-             content: What is a telephone?
-           - role: assistant
-             content: >
-                 A Cthulhuian device that allows you to communicate with
-                 otherworldly beings. It is said that the first telephone was
-                 created by the Great Old Ones themselves, and that it is a
-                 gateway to the void beyond the stars.
-   ```
+       # `user`/`assistant` interactions can be used to initialize the
+       # conversation context with previous knowledge. `user` is used to
+       # emulate previous user questions, and `assistant` models the
+       # expected response.
+       - role: user
+         content: What is a telephone?
+       - role: assistant
+         content: >
+             A Cthulhuian device that allows you to communicate with
+             otherworldly beings. It is said that the first telephone was
+             created by the Great Old Ones themselves, and that it is a
+             gateway to the void beyond the stars.
+```
 
    If you now start Platypush and ask a question like "*how does it work?*",
    the voice assistant may give a response along the lines of:

From afa98c590d8673bd9f8875f323014b243132d3c0 Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <fabio@manganiello.tech>
Date: Mon, 3 Jun 2024 16:44:07 +0200
Subject: [PATCH 12/18] Minor fixes

---
 markdown/The-state-of-voice-assistant-integrations-in-2024.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/markdown/The-state-of-voice-assistant-integrations-in-2024.md b/markdown/The-state-of-voice-assistant-integrations-in-2024.md
index 3170262..4f750a0 100644
--- a/markdown/The-state-of-voice-assistant-integrations-in-2024.md
+++ b/markdown/The-state-of-voice-assistant-integrations-in-2024.md
@@ -1040,7 +1040,7 @@ This means two things:
 
 ```yaml
 openai:
-   ...
+   # ...
 
    context:
        # `system` can be used to initialize the context for the expected tone

From 631f47fe48d149f2d424565e577881647fa43627 Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <fabio@manganiello.tech>
Date: Sun, 18 Aug 2024 22:30:31 +0200
Subject: [PATCH 13/18] Added new media article

---
 markdown/Play-all-media-everywhere.md | 79 +++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)
 create mode 100644 markdown/Play-all-media-everywhere.md

diff --git a/markdown/Play-all-media-everywhere.md b/markdown/Play-all-media-everywhere.md
new file mode 100644
index 0000000..90a4024
--- /dev/null
+++ b/markdown/Play-all-media-everywhere.md
@@ -0,0 +1,79 @@
+[//]: # (title: Play all media, everywhere)
+[//]: # (description: Use Platypush to watch YouTube, Facebook and more on your favourite media player.)
+[//]: # (image: https://platypush-static.s3.nl-ams.scw.cloud/images/media-ui-1.png)
+[//]: # (author: Fabio Manganiello <fabio@platypush.tech>)
+[//]: # (published: 2024-08-18)
+
+Platypush 1.2.3 [is
+out](https://git.platypush.tech/platypush/platypush/src/branch/master/CHANGELOG.md#1-2-3),
+and the main focus of this release is on the #media side.
+
+In particular, Platypush now supports streaming/playing/downloading any media
+compatible with youtube-dl / yt-dlp, even if the upstream audio/video files are
+split - yay!
+
+This means that it's again compatible with #YouTube URLs (the integration broke
+recently after YouTube migrated all of its media to split video+audio tracks),
+and a lot of other sources that have been using this practice for a while -
+Facebook, Instagram, X, TikTok etc.
+
+It means that you can play anything that yt-dlp can digest to any supported
+media plugin - VLC, mpv, mplayer, gstreamer, Kodi or Chromecast/Miracast.
+
+Note however that mileage may vary depending on the player.
+
+Things work fine out of the box if you use `media.mpv`. MPV comes with native
+youtube-dl support, and the right stuff will be used to play the video smoothly
+if youtube-dl or yt-dlp are present on the system.
+
+[`media.vlc`](https://docs.platypush.tech/platypush/plugins/media.mpv.html) and
+[`media.gstreamer`](https://docs.platypush.tech/platypush/plugins/media.gstreamer.html)
+now provide two different play modes for YouTube-compatible content: _play on
+the fly_ and _play with cache_. In play-on-the-fly mode (default) audio and
+video content will be mixed on the fly over ffmpeg and piped to the player
+process. This means shorter load times, it's a good fit for live streams and
+large files, but it also means potentially lower media quality, high chances of
+media jitters in case of gaps in the stream being transcoded, and reduced
+ability to seek through the media. In play-with-cache mode the transcoded
+content will be cached to disk instead. It means waiting a bit longer for the
+video to load, and higher disk usage in case of large streams, but also a more
+robust and smooth playback experience.
+
+![Screenshot of the media playlist UI, showing a context menu with the existing
+"Play" option and the new "Play (With Cache)"
+option](https://platypush-static.s3.nl-ams.scw.cloud/screenshots/media-ui-screenshot-1.png)
+
+However I'm investigating a way to pass both an audio and a video URLs to
+GStreamer (it doesn't seem to be easily feasible with VLC), so the player can
+do its own tuned mixed playback without me having to reinvent the wheel. If I
+can sort it out, and manage to avoid big audio offsets in the playback process,
+then this could be the default mode for GStreamer.
+
+[`media.mplayer`](https://docs.platypush.tech/platypush/plugins/media.mplayer.html)
+only supports play-with-cache mode. The plugin already uses the player's stdin
+to communicate commands, and AFAIK MPlayer doesn't support sending both
+commands and media bytes to the player. Same goes for
+[`media.kodi`](https://docs.platypush.tech/platypush/plugins/media.kodi.html).
+
+[`media.chromecast`](https://docs.platypush.tech/platypush/plugins/media.chromecast.html)
+mileage may vary depending on the model of Chromecast. I haven't had much luck
+playing audio+video simultaneously when Platypush streams YouTube content to
+1st-gen Chromecasts because the new video codecs used by YouTube videos
+apparently aren't available on those devices. I've had mixed results by forcing
+the container to transcode the video track to H264 (and that is also the new
+default configuration for `ytdl_args` for the `media.chromecast` integration),
+but there's still a 50/50 chance that the Chromecast will only play the audio.
+I've had better luck with more recent Chromecast models though. And I believe
+that things should work just fine if you use any modern
+Miracast/DLNA-compatible device/dongle. Given the deprecation status of the
+Chromecast, and the dubious compatibility with whatever the Google TV folks are
+planning next, I'm not even sure if it's worth investing further energies in
+for the Chromecast compatibility. `media.chromecast` now also provides a
+`use_ytdl` configuration flag - it's set to true by default, but you can
+disable if you want to stream YouTube/Facebook/TikTok etc. URLs to your
+Chromecast bypassing the Platypush streaming service. This means higher chances
+that the content will play fine, but it also means that it'll be played by
+whatever compatible app (if available) runs on your Chromecast (i.e.
+ads/tracking/account limitations/geo limitations etc.).
+
+Stay tuned!

From f45e64e933c67e2c695c54bf9e22fa045791d53f Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <fabio@manganiello.tech>
Date: Thu, 5 Jun 2025 11:30:43 +0200
Subject: [PATCH 14/18] Added temporary article content

---
 markdown/Read-and-archive-everything.md | 505 ++++++++++++++++++++++++
 1 file changed, 505 insertions(+)
 create mode 100644 markdown/Read-and-archive-everything.md

diff --git a/markdown/Read-and-archive-everything.md b/markdown/Read-and-archive-everything.md
new file mode 100644
index 0000000..bf1c918
--- /dev/null
+++ b/markdown/Read-and-archive-everything.md
@@ -0,0 +1,505 @@
+[//]: # (title: Read and archive everything)
+[//]: # (description: Bypass client-side restrictions on news and blog articles, archive them and read them wherever you want)
+[//]: # (image: /img/twitter2mastodon.png)
+[//]: # (author: Fabio Manganiello <fabio@manganiello.tech>)
+[//]: # (published: 2025-06-04)
+
+I've always been an avid book reader as a kid.
+
+I liked the smell of the paper, the feeling of turning the pages, and the
+ability to read anywhere I wanted.
+
+As I grew and chose a career in tech and a digital-savvy lifestyle, I started
+to shift my consumption from the paper to the screen. But I *still* wanted the
+same feeling of a paper book, the same freedom of reading wherever I wanted.
+
+I was an early support of the Amazon Kindle idea, I quickly moved most of my
+physical books to the Kindle, I became a vocal supported of online magazines
+that also provided Kindle subscriptions, and I started to read more and more on
+e-ink devices.
+
+Then I noticed that, after an initial spike, not many magazines and blogs
+provided Kindle subscriptions or EPub versions of their articles.
+
+So nevermind - I started tinkering my way out of it and [wrote an article in
+2019](https://blog.platypush.tech/article/Deliver-articles-to-your-favourite-e-reader-using-Platypush)
+on how to use [Platypush](https://platypush.tech) with its [`rss`](https://docs.platypush.tech/platypush/plugins/rss.html),
+[`instapaper`](https://docs.platypush.tech/platypush/plugins/instapaper.html) and
+[`gmail`](https://docs.platypush.tech/platypush/plugins/google.mail.html)
+plugins to subscribe to RSS feeds, parse new articles, convert them to PDF and
+deliver them to my Kindle.
+
+Later I moved from Kindle to the first version of the
+[Mobiscribe](https://www.mobiscribe.com), as Amazon started to be more and more
+restrictive in its option to import and export stuff out of the Kindle, using
+Calibre and some DRM removal tools to export articles or books I had regularly
+purchased was becoming more cumbersome, and the Mobiscribe at that time was an
+interesting option because it offered a decent e-ink device, for a decent
+price, and it ran Android (an ancient version, but at least one that was
+sufficient to run [Instapaper](https://instapaper.com) and
+[KOReader](https://koreader.rocks)).
+
+That simplified things a bit because I didn't need intermediary delivery via
+email to get stuff on my Kindle or Calibre to try and pull things out of it. I
+was using Instapaper on all of my devices, included the Mobiscribe, I could
+easily scrape and push articles to it through Platypush, and I could easily
+keep track of my reading state across multiple devices.
+
+Good things aren't supposed to last though.
+
+Instapaper started to feel quite limited in its capabilities, and I didn't like
+the idea of a centralized server holding all of my saved articles. So I've
+moved to a self-hosted [Wallabag](https://wallabag.org) instance in the
+meantime - which isn't perfect, but provides a lot more customization and
+control.
+
+Moreover, more and more sites started implementing client-side restrictions for
+my scrapers - Instapaper was initially more affected, but slowly Wallabag too
+started bumping into Cloudflare screens, CAPTCHAs and paywalls.
+
+So the Internet Archive provided some temporary relief - I could still archive
+articles there, and then instruct my Wallabag instance to read them from the
+archive link.
+
+Except that, in the past few months, the Internet Archive has also started
+implementing anti-scraping features, and you'll most likely get a Cloudflare
+screen if you try and access an article from an external scraper.
+
+## A little ethical note before continuing
+
+I _do not_ condone nor support piracy.
+
+I mean, sometimes I do, but being a creator myself I always try to make sure
+that, if piracy is the only way to freely access content wherever I want, then
+creators are not being harmed (I don't mind harming any intermediaries that add
+friction to the process and prevent me from having a raw file that I can
+download and read wherever I want though).
+
+So I support creators via Patreon. I pay for subscriptions to digital magazines
+that I will anyway never read through their official mobile app. I send one-off
+donations when I find that some content was particularly useful to me. I buy
+physical books and magazines every now and then from authors or publishers that
+I want to support. And I'd probably support content creators even more if only
+they allowed me to pay only for the content I want to read, and not lock me
+into a Hotel California subscription ("_you can check out any time you like,
+but you can never leave_") because their PMs only care about recurring revenue.
+
+I also think that the current business model that runs most of the high-quality
+content available online (locking people into apps and subscriptions in order
+to view the content) is detrimental for the distribution of knowledge in what's
+supposed to be the age of information. If I want to be exposed to diverse
+opinions on what's going on in different industries or different parts of the
+world, I probably need at least a dozen subscriptions. And probably pay
+something off to download special reports. In the earlier days we didn't have
+to give away so much money if we wanted to access content for our personal
+research - we could just buy a book or a single issue of a magazine, or even
+just walk into a library and read content for free. If we have no digital
+alternatives for such simple and established ways to access knowledge, then
+piracy becomes almost a civic duty. It can't be that high quality reports or
+insightful blog articles are locked behind paywalls, subscriptions and apps and
+all that's left for free is cheap disinformation on social media. Future
+historians will have a very hard time deciphering what was going on in the
+world in the 2020s, because most of the content that was available online is
+now locked behind paywalls, the companies that ran those sites and built the
+apps may be long gone, and if publishers keep waging war against folks like the
+Internet Archive, then they may start looking at our age like some kind of
+strange digital dark age.
+
+I also think that it's my right, as a reader, to be able to consume content on a medium without distractions - like
+social media buttons, ads, comments, or other stuff that distracts me from the main content, and if the publisher
+doesn't provide me with a solution for that, and I have already paid for the content, then I should be able to build a
+solution myself.
+
+And I also demand the right to access the content I've paid for however I want.
+
+Do I want to export everything to Markdown or read it in ASCII art in a
+terminal? Do I want to export it to EPub so I can read it on my e-ink device?
+Do I want to access it without having to use their tracker-ridden mobile app,
+or without being forced to see ads despite having paid for a subscription?
+Well, that's my business. I firmly believe that it's not an author's or
+publisher's right to dictate how I access the content after paying for it. Just
+like in earlier times nobody minded if, after purchasing a book, I would share
+it with my kids, or lend it to a friend, or scan it and read it on my computer,
+or make the copies of a few pages to bring to my students or my colleagues.
+
+If some freedoms were legally granted to me before, and now they've been taken
+away, then it's not piracy if I keep demanding those freedoms.
+
+And content ownership is another problem. I'll no longer be able to access
+content I've read during my subscription period once my subscription expires.
+I'll not be able to pass on the books or magazine I've read in my lifetime to
+my kid. I'll never be able to lend it to someone else, just like I would leave
+a book I had read on a public bookshelf or a bench at the park for someone
+else to read it.
+
+In other words, buying now grants you a temporary license to access the content
+on someone else's devices - you don't really own anything.
+
+So, if buying isn't owning, then piracy isn't stealing.
+
+And again, to make it very clear, I'll be referring to *personal usage* in this
+article. The case where you support creators through other means, but the
+distribution channel is the problem, and you just want your basic freedoms
+as a content consumer back.
+
+If however you start to share scraped articles on the Web, or even worse profit
+from access to it, then you're *really* doing the kind of piracy I can't
+condone.
+
+With this out of the way, let's get our hands dirty.
+
+## The setup
+
+My current set up is quite complex. At some point I may package all the moving
+parts into a single stand-alone application, including both the browser
+extension and the backend, but at the moment it should be sufficient to get
+things to work.
+
+A high-level overview of the setup is as follows:
+
+<img alt="High-level overview of the scraper setup" src="http://s3.platypush.tech/static/images/wallabag-scraper-architecture.png" width="650px">
+
+Let's break down the building blocks of this setup:
+
+- **[Redirector](https://addons.mozilla.org/en-US/firefox/addon/redirector/)**
+  is a browser extension that allows you to redirect URLs based on custom
+  rules as soon as the page is loaded. This is useful to redirect paywalled
+  resources to the Internet Archive, which usually stores full copies of the
+  content. Even if you regularly paid for a subscription to a magazine, and you
+  can read the article on the publisher's site or from their app, your Wallabag
+  scraper will still be blocked if the site implements client-side restrictions
+  or is protected by Cloudflare. So you need to redirect the URL to the Internet
+  Archive, which will then return a copy of the article that you can scrape.
+
+- **[Platypush](https://platypush.tech)** is a Python-based general-purpose
+  platform for automation that I've devoted a good chunk of the past decade
+  to develop. It allows you to run actions, react to events and control devices
+  and services through a unified API and Web interface, and it comes with
+  [hundreds of supported integrations](https://docs.platypush.tech). We'll use
+  the [`wallabag`](https://docs.platypush.tech/platypush/plugins/wallabag.html)
+  plugin to push articles to your Wallabag instance, and optionally the
+  [`rss`](https://docs.platypush.tech/platypush/plugins/rss.html) plugin if you
+  want to programmatically subscribe to RSS feeds, scrape articles and archive
+  them to Wallabag, and the
+  [`ntfy`](https://docs.platypush.tech/platypush/plugins/ntfy.html) plugin to
+  optionally send notifications to your mobile device when new articles are
+  available.
+
+- **[Platypush Web extension](https://addons.mozilla.org/en-US/firefox/addon/platypush/)**
+  is a browser extension that allows you to interact with Platypush from your
+  browser, and it also provides a powerful JavaScript API that you can leverage
+  to manipulate the DOM and automate tasks in the browser. It's like a
+  [Greasemonkey](https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/)
+  or [Tampermonkey](https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/)
+  extension that allows you to write custom scripts to customize your browser
+  experience, but it also allows you to interact with Platypush and leverage
+  its backend capabilities. On top of that, I've also added built-in support
+  for the [Mercury Parser API](https://github.com/usr42/mercury-parser) in it,
+  so you can easily distill articles - similar to what Firefox does with its
+  [Reader
+  Mode](https://support.mozilla.org/en-US/kb/firefox-reader-view-clutter-free-web-pages),
+  but in this case you can customize the layout and modify the original DOM
+  directly, and the distilled content can easily be dispatched to any other
+  service or application. We'll use it to:
+
+  - Distill the article content from the page, removing all the
+    unnecessary elements (ads, comments, etc.) and leaving only the main text
+    and images.
+
+  - Temporarily archive the distilled article to a Web server capable of
+    serving static files, so Wallabag can get the full content and bypass any
+    client-side restrictions.
+
+  - Archive the distilled article to Wallabag, so you can read it later
+    from any device that has access to your Wallabag instance.
+
+- **[Wallabag](https://wallabag.org)** is a self-hosted read-it-later
+  service that allows you to save articles from the Web and read them later,
+  even offline. It resembles the features of the ([recently
+  defunct](https://support.mozilla.org/en-US/kb/future-of-pocket))
+  [Pocket](https://getpocket.com/home). It provides a Web interface, mobile
+  apps and browser extensions to access your saved articles, and it can also be
+  used as a backend for scraping articles from the Web.
+
+- (_Optional_) **[KOReader](https://koreader.rocks)** is an
+  open-source e-book reader that runs on a variety of devices, including any
+  e-ink readers that run Android (and even the
+  [Remarkable](https://github.com/koreader/koreader/wiki/Installation-on-Remarkable)).
+  It has a quite minimal interface and it may take a while to get used to, but
+  it's extremely powerful and customizable. I personally prefer it over the
+  official Wallabag app - it has a native Wallabag integration, as well as OPDS
+  integration to synchronize with my
+  [Ubooquity](https://docs.linuxserver.io/images/docker-ubooquity/) server,
+  synchronization of highlights and notes to Nextcloud Notes, WebDAV support
+  (so you can access anything hosted on e.g. your Nextcloud instance), progress
+  sync across devices through their [sync
+  server](https://github.com/koreader/koreader-sync-server), and much more. It
+  basically gives you a single app to access your saved articles, your books,
+  your notes, your highlights, and your documents.
+
+- (_Optional_) An Android-based e-book reader to run KOReader on. I have
+  recently switched from my old Mobiscribe to an [Onyx BOOX Note Air
+  4](https://www.onyxbooxusa.com/onyx-boox-note-air4-c) and I love it. It's
+  powerful, the display is great, it runs basically any Android app out there
+  (and I've had no issues with running any apps installed through
+  [F-Droid](https://f-droid.org)), and it also has a good set of stock apps,
+  and most of them support WebDAV synchronization - ideal if you have a
+  [Nextcloud](https://nextcloud.com) instance to store your documents and
+  archived links.
+
+**NOTE**: The Platypush extension only works with Firefox, on any Firefox-based
+browser, or on any browser out there that still supports the [Manifest
+V2](https://blog.mozilla.org/addons/2024/03/13/manifest-v3-manifest-v2-march-2024-update/).
+The Manifest V3 has been a disgrace that Google has forced all browser
+extension developers to swallow. I won't go in detail here, but the Platypush
+extension needs to be able to perform actions (such as calls to custom remote
+endpoints and runtime interception of HTTP headers) that are either no longer
+supported on Manifest V3, or that are only supported through laborious
+workarounds (such as using the declarative Net Request API to explicitly
+define what you want to intercept and what remote endpoints you want to call).
+
+**NOTE 2**: As of June 2025, the Platypush extension is only supported on
+Firefox for desktop. A Firefox for Android version [is
+work in progress](https://git.platypush.tech/platypush/platypush-webext/issues/1).
+
+Let's dig deeper into the individual components of this setup.
+
+## Redirector
+
+![Redirector extension screenshot](https://s3.platypush.tech/static/screenshots/Redirector.png)
+
+This is a nice addition if you want to automatically view some links through
+the Internet Archive rather than the original site.
+
+You can install it from the [Firefox Add-ons site](https://addons.mozilla.org/en-US/firefox/addon/redirector/).
+Once installed, you can create a bunch of rules (regular expressions are supported)
+to redirect URLs from paywalled domains that you visit often to the Internet Archive.
+
+For example, this regular expression:
+
+```
+^(https://([\w-]+).substack.com/p/.*)
+```
+
+will match any Substack article URL, and you can redirect it to the Internet Archive
+through this URL:
+
+```
+https://archive.is/$1
+```
+
+Next time you open a Substack article, it will be automatically redirected to its
+most recent archived version - or it will prompt you to archive the URL if it's not
+been archived yet.
+
+## Wallabag
+
+![Wallabag screenshot](https://s3.platypush.tech/static/screenshots/wallabag-1.png)
+
+Wallabag can easily be installed on any server [through Docker](https://doc.wallabag.org/developer/docker/).
+
+Follow the documentation for the set up of your user and create an API token from the Web interface.
+
+It's also advised to [set up a reverse
+proxy](https://doc.wallabag.org/admin/installation/virtualhosts/#configuration-on-nginx) in front of Wallabag, so you
+can easily access it over HTTPS.
+
+Once configured the reverse proxy, you can generate a certificate for it - for example, if you use
+[`certbot`](https://certbot.eff.org/) and `nginx`:
+
+```bash
+certbot --nginx -d your-domain.com
+```
+
+Then you can access your Wallabag instance at `https://your-domain.com` and log in with the user you created.
+
+Bonus: I personally find the Web interface of Wallabag quite ugly - the fluorescent light blue headers are distracting
+and the default font and column width isn't ideal for my taste. So I made a [Greasemonkey/Tampermonkey
+script](https://gist.manganiello.tech/fabio/ec9e28170988441d9a091b3fa6535038) to make it better if you want (see
+screenshot above).
+
+## [_Optional_] ntfy
+
+[ntfy](https://ntfy.sh) is a simple HTTP-based pub/sub notification service that you can use to send notifications to
+your devices or your browser. It provides both an [Android app](https://f-droid.org/en/packages/io.heckel.ntfy/) and a
+[browser addon](https://addons.mozilla.org/en-US/firefox/addon/send-to-ntfy/) to send and receive notifications,
+allowing you to open saved links directly on your phone or any other device subscribed to the same topic.
+
+Running it via docker-compose [is quite
+straightforward](https://github.com/binwiederhier/ntfy/blob/main/docker-compose.yml).
+
+It's also advised to serve it behind a reverse proxy with HTTPS support, keeping in mind to set the right header for the
+Websocket paths - example nginx configuration:
+
+```nginx
+map $http_upgrade $connection_upgrade {
+    default upgrade;
+    '' close;
+}
+
+server {
+  server_name notify.example.com;
+
+  location / {
+      proxy_pass http://your-internal-ntfy-host:port;
+
+      client_max_body_size 5M;
+
+      proxy_read_timeout 60;
+      proxy_connect_timeout 60;
+      proxy_redirect off;
+
+      proxy_set_header Host $http_host;
+      proxy_set_header X-Real-IP $remote_addr;
+      proxy_set_header X-Forwarded-Ssl on;
+      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+  }
+
+  location ~ .*/ws/?$ {
+      proxy_http_version 1.1;
+      proxy_set_header Upgrade $http_upgrade;
+      proxy_set_header Connection $connection_upgrade;
+      proxy_set_header Host $http_host;
+      proxy_pass http://your-internal-ntfy-host:port;
+  }
+}
+```
+
+Once the server is running, you can check the connectivity by opening your server's main page in your browser.
+
+## Local Web server
+
+This approach uses an intermediary Web server to temporarily archive the distilled article content, if available, and
+instructing Wallabag to parse it from there.
+
+## Platypush
+
+Create a new virtual environment and install Platypush with the `wallabag` and `rss`
+plugin dependencies through `pip`:
+
+```bash
+python3 -m venv venv
+source venv/bin/activate
+pip install 'platypush[wallabag,rss]'
+```
+
+Then create a new configuration file `~/.config/platypush/config.yaml` with the following configuration:
+
+```yaml
+# Web server configuration
+backend.http:
+  # - port: 8008
+
+# Wallabag configuration
+wallabag:
+  server_url: https://your-domain.com
+  client_id: your_client_id
+  client_secret: your_client_secret
+  # Your Wallabag user credentials are required for the first login.
+  # It's also advised to keep them here afterwards so the refresh
+  # token can be automatically updated.
+  username: your_username
+  password: your_password
+```
+
+Then you can start the service with:
+
+```bash
+platypush
+```
+
+You can also create a systemd service to run Platypush in the background:
+
+```bash
+mkdir -p ~/.config/systemd/user
+
+cat <<EOF > ~/.config/systemd/user/platypush.service
+[Unit]
+Description=Platypush service
+After=network.target
+
+[Service]
+ExecStart=/path/to/venv/bin/platypush
+Restart=always
+RestartSec=5
+EOF
+
+systemctl --user daemon-reload
+systemctl --user enable --now platypush.service
+```
+
+After starting the service, head over to `http://your_platypush_host:8008` (or the port you configured in the
+`backend.http` section) and create a new user account.
+
+It's also advised to serve the Platypush Web server behind a reverse proxy with HTTPS support if you want it to easily
+be accessible from the browser extension - a basic `nginx` configuration [is available on the
+repo](https://git.platypush.tech/platypush/platypush/src/branch/master/examples/nginx/nginx.sample.conf).
+
+## Platypush Web extension
+
+You can install the Platypush Web extension from the [Firefox Add-ons
+site](https://addons.mozilla.org/en-US/firefox/addon/platypush/).
+
+After installing it, click on the extension popup and add the URL of your Platypush Web server.
+
+![Platypush Web extension - authentication
+screenshot](https://s3.platypush.tech/static/screenshots/webext/add-device.png)
+
+When successfully connected, you should see the device in the main menu, you can run commands on it and save actions.
+
+A good place to start familiarizing with the Platypush API is the _Run Action_ dialog, which allows you to run commands
+on your server and provides autocomplete for the available actions, as well as documentation about their arguments.
+
+![Platypush Web extension - run dialog](https://s3.platypush.tech/static/screenshots/webext/run-2.png)
+
+The default action mode is _Request_ (i.e. single requests against the API). You can also pack together more actions on
+the backend [into
+_procedures_](https://docs.platypush.tech/wiki/Quickstart.html#greet-me-with-lights-and-music-when-i-come-home), which
+can be written either in the YAML config or as Python scripts (by default loaded from `~/.config/platypush/scripts`).
+If correctly configured, procedures will be available in the _Run Action_ dialog.
+
+The other mode, which we'll use in this article, is _Script_. In this mode you can write custom JavaScript code that
+can interact with your browser.
+
+![Platypush Web extension - script mode](https://platypush-static.s3.nl-ams.scw.cloud/screenshots/webext/script.png)
+
+[Here](https://gist.github.com/BlackLight/d80c571705215924abc06a80994fd5f4) is a sample script that you can use as a
+reference for the API exposed by the extension. Some examples include:
+
+- `app.run`, to run an action on the Platypush backend
+
+- `app.getURL`, `app.setURL` and `app.openTab` to get and set the current URL, or open a new tab with a given URL
+
+- `app.axios.get`, `app.axios.post` etc. to perform HTTP requests to other external services through the Axios
+  library
+
+- `app.getDOM` and `app.setDOM` to get and set the current page DOM
+
+- `app.mercury.parse` to distill the current page content using the Mercury Parser API
+
+### Reader mode script
+
+We can put together the building blocks above to create our first script, which will distill the current page content
+and replace the swap the current page DOM with the simplified content - with no ads, comments, or other distracting
+visual elements. The full content of the script is available
+[here](https://gist.manganiello.tech/fabio/c731b57ff6b24d21a8f43fbedde3dc30).
+
+This is akin to what Firefox' [Reader
+Mode](https://support.mozilla.org/en-US/kb/firefox-reader-view-clutter-free-web-pages) does, but with much more room for
+customization.
+
+Note that for this specific script we don't need any interactions with the Platypush backend. Everything happens on the
+client, as the Mercury API is built into the Platypush Web extension.
+
+Switch to _Script_ mode in the _Run Action_ dialog, paste the script content and click on _Save Script_. You can also
+choose a custom name, icon ([FontAwesome](https://fontawesome.com/icons) icon classes are supported), color and group
+for the script. Quite importantly, you can also associate a keyboard shortcut to it, so you can quickly distill a page
+without having to search for the command either in the extension popup or in the context menu.
+
+### Save to Wallabag script
+
+Now that we have a script to distill the current page content, we can create another script to save the distilled
+content (if available) to Wallabag. Otherwise, it will just save the original page content.
+
+The full content of the script is available
+[here](https://gist.manganiello.tech/fabio/8f5b08d8fbaa404bafc6fdeaf9b154b4).

From b229ccebaae75b03bed150dec82d73aaa51cfb39 Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <fabio@manganiello.tech>
Date: Thu, 5 Jun 2025 22:15:29 +0200
Subject: [PATCH 15/18] Finalized article

---
 ...ing-a-better-digital-reading-experience.md | 759 ++++++++++++++++++
 markdown/Read-and-archive-everything.md       | 505 ------------
 2 files changed, 759 insertions(+), 505 deletions(-)
 create mode 100644 markdown/Building-a-better-digital-reading-experience.md
 delete mode 100644 markdown/Read-and-archive-everything.md

diff --git a/markdown/Building-a-better-digital-reading-experience.md b/markdown/Building-a-better-digital-reading-experience.md
new file mode 100644
index 0000000..ca5a2a7
--- /dev/null
+++ b/markdown/Building-a-better-digital-reading-experience.md
@@ -0,0 +1,759 @@
+[//]: # (title: Building a better digital reading experience)
+[//]: # (description: Bypass client-side restrictions on news and blog articles, archive them and read them on any offline reader)
+[//]: # (image: https://s3.platypush.tech/static/images/reading-experience.jpg)
+[//]: # (author: Fabio Manganiello <fabio@manganiello.tech>)
+[//]: # (published: 2025-06-05)
+
+I've always been an avid book reader as a kid.
+
+I liked the smell of the paper, the feeling of turning the pages, and the
+ability to read them anywhere I wanted, as well as lend them to friends and
+later share our reading experiences.
+
+As I grew and chose a career in tech and a digital-savvy lifestyle, I started
+to shift my consumption from the paper to the screen. But I *still* wanted the
+same feeling of a paper book, the same freedom of reading wherever I wanted
+without distractions, and without being constantly watched by someone who will
+recommend me other products based on what I read or how I read.
+
+I was an early support of the Amazon Kindle idea, I quickly moved most of my
+physical books to the Kindle, I became a vocal supported of online magazines
+that also provided Kindle subscriptions, and I started to read more and more on
+e-ink devices.
+
+Then I noticed that, after an initial spike, not many magazines and blogs
+provided Kindle subscriptions or EPub versions of their articles.
+
+So nevermind - I started tinkering my way out of it and [wrote an article in
+2019](https://blog.platypush.tech/article/Deliver-articles-to-your-favourite-e-reader-using-Platypush)
+on how to use [Platypush](https://platypush.tech) with its
+[`rss`](https://docs.platypush.tech/platypush/plugins/rss.html),
+[`instapaper`](https://docs.platypush.tech/platypush/plugins/instapaper.html) and
+[`gmail`](https://docs.platypush.tech/platypush/plugins/google.mail.html)
+plugins to subscribe to RSS feeds, parse new articles, convert them to PDF and
+deliver them to my Kindle.
+
+Later I moved from Kindle to the first version of the
+[Mobiscribe](https://www.mobiscribe.com), as Amazon started to be more and more
+restrictive in its option to import and export stuff out of the Kindle. Using
+Calibre and some DRM removal tools to export articles or books I had regularly
+purchased was gradually getting more cumbersome and error-prone, and the
+Mobiscribe at that time was an interesting option because it offered a decent
+e-ink device, for a decent price, and it ran Android (an ancient version, but
+at least one that was sufficient to run [Instapaper](https://instapaper.com)
+and [KOReader](https://koreader.rocks)).
+
+That simplified things a bit because I didn't need intermediary delivery via
+email to get stuff on my Kindle or Calibre to try and pull things out of it. I
+was using Instapaper on all of my devices, included the Mobiscribe, I could
+easily scrape and push articles to it through Platypush, and I could easily
+keep track of my reading state across multiple devices.
+
+Good things aren't supposed to last though.
+
+Instapaper started to feel quite limited in its capabilities, and I didn't like
+the idea of a centralized server holding all of my saved articles. So I've
+moved to a self-hosted [Wallabag](https://wallabag.org) instance in the
+meantime - which isn't perfect, but provides a lot more customization and
+control.
+
+Moreover, more and more sites started implementing client-side restrictions for
+my scrapers - Instapaper was initially more affected, as it was much easier for
+publisher's websites to detect scraping requests coming from the same subnet,
+but slowly Wallabag too started bumping into Cloudflare screens, CAPTCHAs and
+paywalls.
+
+So the Internet Archive provided some temporary relief - I could still archive
+articles there, and then instruct my Wallabag instance to read them from the
+archived link.
+
+Except that, in the past few months, the Internet Archive has also started
+implementing anti-scraping features, and you'll most likely get a Cloudflare
+screen if you try and access an article from an external scraper.
+
+## A little ethical note before continuing
+
+_Feel free to skip this part and go to the technical setup section if you
+already agree that, if buying isn't owning, then piracy isn't stealing._
+
+I _do not_ condone nor support piracy.
+
+I mean, sometimes I do, but being a creator myself I always try to make sure
+that, if piracy is the only way to freely access content wherever I want, then
+creators are not being harmed.
+
+I don't mind however harming any intermediaries that add friction to the
+process just to have a piece of the pie, stubbornly rely on unsustainable
+business models that sacrifices both the revenue of the authors and the privacy
+and freedom of the readers, and prevent me from having a raw file that I can
+download and read wherever I want though. It's because of those folks that the
+digital reading experience, despite all the initial promises, has become much
+worse than reading physical books and magazines. So I don't see a big moral
+conundrum in pirating to harm those folks and get back my basic freedoms as a
+reader.
+
+But I do support creators via Patreon. I pay for subscriptions to digital
+magazines that I will anyway never read through their official mobile app.
+Every now and then I buy physical books and magazines that I've already read
+and that I've really enjoyed, to support the authors, just like I still buy
+some vinyls of albums I really love even though I could just stream them. And I
+send one-off donations when I find that some content was particularly useful to
+me. And I'd probably support content creators even more if only they allowed me
+to pay only for the digital content I want to read, if only there was a viable
+digital business model also for the occasional reader, instead of everybody
+trying to lock me into a Hotel California subscription ("_you can check out any
+time you like, but you can never leave_") just because their business managers
+are those folks who have learned how to use the hammer of the recurring
+revenue, and think that every problem in the world is a subscription nail to be
+hit on its head.
+
+I also think that the current business model that runs most of the high-quality
+content available online (locking people into apps and subscriptions in order
+to view the content) is detrimental for the distribution of knowledge in what's
+supposed to be the age of information. If I want to be exposed to diverse
+opinions on what's going on in different industries or different parts of the
+world, I'd probably need at least a dozen subscriptions, while in earlier
+generations folks could just walk into their local library or buy a single
+issue of a newspaper every now and then.
+
+If we have no digital alternatives for such simple and established ways to
+access and spread knowledge, then piracy is almost a civic duty. It can't be
+that high quality reports or insightful blog articles are locked behind
+paywalls, subscriptions and apps, and all that's left for free is cheap
+disinformation on social media. Future historians will have a very hard time
+deciphering what was going on in the world in the 2020s, because most of the
+content that was available online is now locked behind paywalls, the companies
+that ran those sites and built the apps may be long gone, and if publishers
+keep waging war against folks like the Internet Archive, then they may start
+looking at our age like some kind of strange digital dark age.
+
+I also think that it's my right, as a reader, to be able to consume content on
+a medium without distractions - like social media buttons, ads, comments, or
+other stuff that distracts me from the main content, and if the publisher
+doesn't provide me with a solution for that, and I have already paid for the
+content, then I should be able to build a solution myself. Even in an age where
+attention is the new currency, at least we should not try to grab people's
+attention when they're trying to read some dense content - that's just common
+sense.
+
+And I also demand the right to access the content I've paid for however I want.
+
+Do I want to export everything to Markdown or read it in ASCII art in a
+terminal? Do I want to export it to EPub so I can read it on my e-ink device?
+Do I want to export it to PDF and email it to one of my students for a research
+project, or to myself for later reference? Do I want to access it without
+having to use their tracker-ridden mobile app, or without being forced to see
+ads despite having paid for a subscription? Well, that's my business. I firmly
+believe that it's not an author's or publisher's right to dictate how I access
+the content after paying for it. Just like in earlier days nobody minded if,
+after purchasing a book, I would share it with my kids, or lend it to a friend,
+or scan it and read it on my computer, or make the copies of a few pages to
+bring to my students or my colleagues for a project, or leave it on a bench at
+the park or in a public bookshelf after reading it.
+
+If some freedoms were legally granted to me before, and now they've been taken
+away, then it's not piracy if I keep demanding those freedoms.
+
+And content ownership is another problem. I'll no longer be able to access
+content I've read during my subscription period once my subscription expires.
+I'll not be able to pass on the books or magazines I've read in my lifetime to
+my kid. I'll never be able to lend it to someone else, just like I would leave
+a book I had read on a public bookshelf or a bench at the park for someone
+else to read it.
+
+In other words, buying now grants you a temporary license to access the content
+on someone else's device - you don't really own anything.
+
+So, if buying isn't owning, piracy isn't stealing.
+
+And again, to make it very clear, I'll be referring to *personal use* in this
+article. The case where you support creators through other means, but the
+distribution channel and the  business models are the problem, and you just
+want your basic freedoms as a content consumer back.
+
+If however you want to share scraped articles on the Web, or even worse profit
+from access to it, then you're *really* doing the kind of piracy I can't
+condone.
+
+With this out of the way, let's get our hands dirty.
+
+## The setup
+
+A high-level overview of the setup is as follows:
+
+<img alt="High-level overview of the scraper setup" src="https://s3.platypush.tech/static/images/wallabag-scraper-architecture.png" width="650px">
+
+Let's break down the building blocks of this setup:
+
+- **[Redirector](https://addons.mozilla.org/en-US/firefox/addon/redirector/)**
+  is a browser extension that allows you to redirect URLs based on custom
+  rules as soon as the page is loaded. This is useful to redirect paywalled
+  resources to the Internet Archive, which usually stores full copies of the
+  content. Even if you regularly paid for a subscription to a magazine, and you
+  can read the article on the publisher's site or from their app, your Wallabag
+  scraper will still be blocked if the site implements client-side restrictions
+  or is protected by Cloudflare. So you need to redirect the URL to the Internet
+  Archive, which will then return a copy of the article that you can scrape.
+
+- **[Platypush](https://platypush.tech)** is a Python-based general-purpose
+  platform for automation that I've devoted a good chunk of the past decade
+  to develop. It allows you to run actions, react to events and control devices
+  and services through a unified API and Web interface, and it comes with
+  [hundreds of supported integrations](https://docs.platypush.tech). We'll use
+  the [`wallabag`](https://docs.platypush.tech/platypush/plugins/wallabag.html)
+  plugin to push articles to your Wallabag instance, and optionally the
+  [`rss`](https://docs.platypush.tech/platypush/plugins/rss.html) plugin if you
+  want to programmatically subscribe to RSS feeds, scrape articles and archive
+  them to Wallabag, and the
+  [`ntfy`](https://docs.platypush.tech/platypush/plugins/ntfy.html) plugin to
+  optionally send notifications to your mobile device when new articles are
+  available.
+
+- **[Platypush Web extension](https://addons.mozilla.org/en-US/firefox/addon/platypush/)**
+  is a browser extension that allows you to interact with Platypush from your
+  browser, and it also provides a powerful JavaScript API that you can leverage
+  to manipulate the DOM and automate tasks in the browser. It's like a
+  [Greasemonkey](https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/)
+  or [Tampermonkey](https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/)
+  extension that allows you to write scripts to customize your browser
+  experience, but it also allows you to interact with Platypush and leverage
+  its backend capabilities. On top of that, I've also added built-in support
+  for the [Mercury Parser API](https://github.com/usr42/mercury-parser) in it,
+  so you can easily distill articles - similar to what Firefox does with its
+  [Reader
+  Mode](https://support.mozilla.org/en-US/kb/firefox-reader-view-clutter-free-web-pages),
+  but in this case you can customize the layout and modify the original DOM
+  directly, and the distilled content can easily be dispatched to any other
+  service or application. We'll use it to:
+
+  - Distill the article content from the page, removing all the
+    unnecessary elements (ads, comments, etc.) and leaving only the main text
+    and images.
+
+  - Archive the distilled article to Wallabag, so you can read it later
+    from any device that has access to your Wallabag instance.
+
+- **[Wallabag](https://wallabag.org)** is a self-hosted read-it-later
+  service that allows you to save articles from the Web and read them later,
+  even offline. It resembles the features of the ([recently
+  defunct](https://support.mozilla.org/en-US/kb/future-of-pocket))
+  [Pocket](https://getpocket.com/home). It provides a Web interface, mobile
+  apps and browser extensions to access your saved articles, and it can also be
+  used as a backend for scraping articles from the Web.
+
+- (_Optional_) **[KOReader](https://koreader.rocks)** is an
+  open-source e-book reader that runs on a variety of devices, including any
+  e-ink readers that run Android (and even the
+  [Remarkable](https://github.com/koreader/koreader/wiki/Installation-on-Remarkable)).
+  It has a quite minimal interface and it may take a while to get used to, but
+  it's extremely powerful and customizable. I personally prefer it over the
+  official Wallabag app - it has a native Wallabag integration, as well as OPDS
+  integration to synchronize with my
+  [Ubooquity](https://docs.linuxserver.io/images/docker-ubooquity/) server,
+  synchronization of highlights and notes to Nextcloud Notes, WebDAV support
+  (so you can access anything hosted on e.g. your Nextcloud instance), progress
+  sync across devices through their [sync
+  server](https://github.com/koreader/koreader-sync-server), and much more. It
+  basically gives you a single app to access your saved articles, your books,
+  your notes, your highlights, and your documents.
+
+- (_Optional_) An Android-based e-book reader to run KOReader on. I have
+  recently switched from my old Mobiscribe to an [Onyx BOOX Note Air
+  4](https://www.onyxbooxusa.com/onyx-boox-note-air4-c) and I love it. It's
+  powerful, the display is great, it runs basically any Android app out there
+  (and I've had no issues with running any apps installed through
+  [F-Droid](https://f-droid.org)), and it also has a good set of stock apps,
+  and most of them support WebDAV synchronization - ideal if you have a
+  [Nextcloud](https://nextcloud.com) instance to store your documents and
+  archived links.
+
+**NOTE**: The Platypush extension only works with Firefox, on any Firefox-based
+browser, or on any browser out there that still supports the [Manifest
+V2](https://blog.mozilla.org/addons/2024/03/13/manifest-v3-manifest-v2-march-2024-update/).
+The Manifest V3 has been a disgrace that Google has forced all browser
+extension developers to swallow. I won't go in detail here, but the Platypush
+extension needs to be able to perform actions (such as calls to custom remote
+endpoints and runtime interception of HTTP headers) that are either no longer
+supported on Manifest V3, or that are only supported through laborious
+workarounds (such as using the declarative Net Request API to explicitly
+define what you want to intercept and what remote endpoints you want to call).
+
+**NOTE 2**: As of June 2025, the Platypush extension is only supported on
+Firefox for desktop. A Firefox for Android version [is
+work in progress](https://git.platypush.tech/platypush/platypush-webext/issues/1).
+
+Let's dig deeper into the individual components of this setup.
+
+## Redirector
+
+![Redirector extension screenshot](https://s3.platypush.tech/static/screenshots/Redirector.png)
+
+This is a nice addition if you want to automatically view some links through
+the Internet Archive rather than the original site.
+
+You can install it from the [Firefox Add-ons site](https://addons.mozilla.org/en-US/firefox/addon/redirector/).
+Once installed, you can create a bunch of rules (regular expressions are supported)
+to redirect URLs from paywalled domains that you visit often to the Internet Archive.
+
+For example, this regular expression:
+
+```
+^(https://([\w-]+).substack.com/p/.*)
+```
+
+will match any Substack article URL, and you can redirect it to the Internet Archive
+through this URL:
+
+```
+https://archive.is/$1
+```
+
+Next time you open a Substack article, it will be automatically redirected to its
+most recent archived version - or it will prompt you to archive the URL if it's not
+been archived yet.
+
+## Wallabag
+
+![Wallabag screenshot](https://s3.platypush.tech/static/screenshots/wallabag-1.png)
+
+Wallabag can easily be installed on any server [through Docker](https://doc.wallabag.org/developer/docker/).
+
+Follow the documentation for the set up of your user and create an API token
+from the Web interface.
+
+It's also advised to [set up a reverse
+proxy](https://doc.wallabag.org/admin/installation/virtualhosts/#configuration-on-nginx)
+in front of Wallabag, so you can easily access it over HTTPS.
+
+Once configured the reverse proxy, you can generate a certificate for it - for
+example, if you use [`certbot`](https://certbot.eff.org/) and `nginx`:
+
+```bash
+❯ certbot --nginx -d your-domain.com
+```
+
+Then you can access your Wallabag instance at `https://your-domain.com` and log
+in with the user you created.
+
+Bonus: I personally find the Web interface of Wallabag quite ugly - the
+fluorescent light blue headers are distracting and the default font and column
+width isn't ideal for my taste. So I made a [Greasemonkey/Tampermonkey
+script](https://gist.manganiello.tech/fabio/ec9e28170988441d9a091b3fa6535038)
+to make it better if you want (see screenshot above).
+
+## [_Optional_] ntfy
+
+[ntfy](https://ntfy.sh) is a simple HTTP-based pub/sub notification service
+that you can use to send notifications to your devices or your browser. It
+provides both an [Android app](https://f-droid.org/en/packages/io.heckel.ntfy/)
+and a [browser
+addon](https://addons.mozilla.org/en-US/firefox/addon/send-to-ntfy/) to send
+and receive notifications, allowing you to open saved links directly on your
+phone or any other device subscribed to the same topic.
+
+Running it via docker-compose [is quite
+straightforward](https://github.com/binwiederhier/ntfy/blob/main/docker-compose.yml).
+
+It's also advised to serve it behind a reverse proxy with HTTPS support,
+keeping in mind to set the right header for the Websocket paths - example nginx
+configuration:
+
+```nginx
+map $http_upgrade $connection_upgrade {
+    default upgrade;
+    '' close;
+}
+
+server {
+  server_name notify.example.com;
+
+  location / {
+      proxy_pass http://your-internal-ntfy-host:port;
+
+      client_max_body_size 5M;
+
+      proxy_read_timeout 60;
+      proxy_connect_timeout 60;
+      proxy_redirect off;
+
+      proxy_set_header Host $http_host;
+      proxy_set_header X-Real-IP $remote_addr;
+      proxy_set_header X-Forwarded-Ssl on;
+      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+  }
+
+  location ~ .*/ws/?$ {
+      proxy_http_version 1.1;
+      proxy_set_header Upgrade $http_upgrade;
+      proxy_set_header Connection $connection_upgrade;
+      proxy_set_header Host $http_host;
+      proxy_pass http://your-internal-ntfy-host:port;
+  }
+}
+```
+
+Once the server is running, you can check the connectivity by opening your
+server's main page in your browser.
+
+**NOTE**: Be _careful_ when choosing your ntfy topic name, especially if you
+are using a public instance. ntfy by default doesn't require any authentication
+for publishing or subscribing to a topic. So choose a random name (or at least
+a random prefix/suffix) for your topics and treat them like a password.
+
+## Platypush
+
+Create a new virtual environment and install Platypush through `pip` (the
+plugins we'll use in the first part don't require any additional dependencies):
+
+```bash
+❯ python3 -m venv venv
+❯ source venv/bin/activate
+❯ pip install platypush
+```
+
+Then create a new configuration file `~/.config/platypush/config.yaml` with the
+following configuration:
+
+```yaml
+# Web server configuration
+backend.http:
+  # port: 8008
+
+# Wallabag configuration
+wallabag:
+  server_url: https://your-domain.com
+  client_id: your_client_id
+  client_secret: your_client_secret
+  # Your Wallabag user credentials are required for the first login.
+  # It's also advised to keep them here afterwards so the refresh
+  # token can be automatically updated.
+  username: your_username
+  password: your_password
+```
+
+Then you can start the service with:
+
+```bash
+❯ platypush
+```
+
+You can also create a systemd service to run Platypush in the background:
+
+```bash
+❯ mkdir -p ~/.config/systemd/user
+❯ cat <<EOF > ~/.config/systemd/user/platypush.service
+[Unit]
+Description=Platypush service
+After=network.target
+
+[Service]
+ExecStart=/path/to/venv/bin/platypush
+Restart=always
+RestartSec=5
+EOF
+❯ systemctl --user daemon-reload
+❯ systemctl --user enable --now platypush.service
+```
+
+After starting the service, head over to `http://your_platypush_host:8008` (or
+the port you configured in the `backend.http` section) and create a new user
+account.
+
+It's also advised to serve the Platypush Web server behind a reverse proxy with
+HTTPS support if you want it to easily be accessible from the browser extension -
+a basic `nginx` configuration [is available on the
+repo](https://git.platypush.tech/platypush/platypush/src/branch/master/examples/nginx/nginx.sample.conf).
+
+## Platypush Web extension
+
+You can install the Platypush Web extension from the [Firefox Add-ons
+site](https://addons.mozilla.org/en-US/firefox/addon/platypush/).
+
+After installing it, click on the extension popup and add the URL of your
+Platypush Web server.
+
+![Platypush Web extension - authentication
+screenshot](https://s3.platypush.tech/static/screenshots/webext/add-device.png)
+
+When successfully connected, you should see the device in the main menu, you
+can run commands on it and save actions.
+
+A good place to start familiarizing with the Platypush API is the _Run Action_
+dialog, which allows you to run commands on your server and provides
+autocomplete for the available actions, as well as documentation about their
+arguments.
+
+![Platypush Web extension - run dialog](https://s3.platypush.tech/static/screenshots/webext/run-2.png)
+
+The default action mode is _Request_ (i.e. single requests against the API).
+You can also pack together more actions on the backend [into
+_procedures_](https://docs.platypush.tech/wiki/Quickstart.html#greet-me-with-lights-and-music-when-i-come-home),
+which can be written either in the YAML config or as Python scripts (by default
+loaded from `~/.config/platypush/scripts`). If correctly configured, procedures
+will be available in the _Run Action_ dialog.
+
+The other mode, which we'll use in this article, is _Script_. In this mode you
+can write custom JavaScript code that can interact with your browser.
+
+![Platypush Web extension - script
+mode](https://platypush-static.s3.nl-ams.scw.cloud/screenshots/webext/script.png)
+
+[Here](https://gist.github.com/BlackLight/d80c571705215924abc06a80994fd5f4) is
+a sample script that you can use as a reference for the API exposed by the
+extension. Some examples include:
+
+- `app.run`, to run an action on the Platypush backend
+
+- `app.getURL`, `app.setURL` and `app.openTab` to get and set the current URL,
+  or open a new tab with a given URL
+
+- `app.axios.get`, `app.axios.post` etc. to perform HTTP requests to other
+  external services through the Axios library
+
+- `app.getDOM` and `app.setDOM` to get and set the current page DOM
+
+- `app.mercury.parse` to distill the current page content using the Mercury
+  Parser API
+
+### Reader Mode script
+
+We can put together the building blocks above to create our first script, which
+will distill the current page content and swap the current page DOM with the
+simplified content - with no ads, comments, or other distracting visual
+elements. The full content of the script is available
+[here](https://gist.manganiello.tech/fabio/c731b57ff6b24d21a8f43fbedde3dc30).
+
+This is akin to what Firefox' [Reader
+Mode](https://support.mozilla.org/en-US/kb/firefox-reader-view-clutter-free-web-pages)
+does, but with much more room for customization.
+
+Note that for this specific script we don't need any interactions with the
+Platypush backend. Everything happens on the client, as the Mercury API is
+built into the Platypush Web extension.
+
+Switch to _Script_ mode in the _Run Action_ dialog, paste the script content
+and click on _Save Script_. You can also choose a custom name, icon
+([FontAwesome](https://fontawesome.com/icons) icon classes are supported),
+color and group for the script. Quite importantly, you can also associate a
+keyboard shortcut to it, so you can quickly distill a page without having to
+search for the command either in the extension popup or in the context menu.
+
+### Save to Wallabag script
+
+Now that we have a script to distill the current page content, we can create
+another script to save the distilled content (if available) to Wallabag.
+Otherwise, it will just save the original page content.
+
+The full content of the script is available
+[here](https://gist.manganiello.tech/fabio/8f5b08d8fbaa404bafc6fdeaf9b154b4).
+The structure is quite straightforward:
+
+- First, it checks if the page content has already been "distilled" by the
+  Reader Mode script. If so, it uses the distilled content to save it to
+  Wallabag. Otherwise, it will use the full page body.
+
+- It saves the URL to Wallabag.
+
+- Optionally, it sends a notification over ntfy.
+
+Again, feel free to assign a keybinding to this action so you can quickly call
+it from any page.
+
+Personally I've picked `Ctrl+Alt+1` for the Reader Mode script and `Ctrl+Alt+2`
+for the Save to Wallabag script, so I can quickly distill a page and, if takes
+me more time to read it, send the already simplified content to Wallabag.
+
+If you don't want to create a keybinding, you can always call these actions
+either from the extension popup or from the (right click) context menu.
+
+## [_Optional_] RSS subscriptions and automated delivery
+
+You now have a way to manually scrape and archive articles from the Web.
+
+If you are also a regular reader of a publication or a blog that provides RSS
+or Atom feeds, you can also automate the process of subscribing to those feeds
+and delivering new articles to Wallabag.
+
+Just keep in mind two things if you want to go down this way:
+
+1. It's not advised to subscribe to feeds that provide a lot of articles
+   every day, as this will quickly fill up your Wallabag instance and make it
+   hard to find the articles you want to read. So stick to feeds that provide
+   one or a few articles per day, or at least don't provide more than a dozen
+   articles per day. Or augment the RSS event hook with custom filters to only
+   include links that match some criteria.
+
+2. Unlike the manual actions we saw before, the logic to handle automated
+   subscriptions and content delivery is implemented on the Platypush service
+   (on the backend). So it may not be as optimal in scraping and distilling
+   articles as some logic that operates on the client side and can more easily
+   bypass client-side restrictions. So you may want to pick feeds that don't
+   implement aggressive paywalls, are behind Cloudflare, or implement other
+   client-side restrictions.
+
+If you have some good candidates for automated delivery, follow these steps:
+
+- Install the [`rss`](https://docs.platypush.tech/platypush/plugins/rss.html)
+  plugin in your Platypush instance:
+
+```bash
+(venv)> pip install 'platypush[rss]'
+```
+
+- If you want to use the Mercury Parser API to distill articles (_optional_),
+  install the dependencies for the
+  [`http.webpage`](https://docs.platypush.tech/platypush/plugins/http.webpage.html).
+  The Mercury API is only available in JavaScript, so you'll need to have
+  `nodejs` and `npm` installed on your system. The Mercury Parser API is optional,
+  but it's usually more successful than the default Wallabag scraper in distilling
+  content. And, on top of that, it also makes it easier to customize your
+  requests. So if you want to scrape content from paywalled websites that
+  you're subscribed to you can easily pass your credentials or cookies to the
+  Mercury API (Wallabag doesn't support customizing the scraping requests).
+  Moreover, the Mercury integration also allows you to export the distilled
+  content to other formats, such as plain text, HTML, Markdown, or PDF - this
+  is useful if you want to save content to other services or applications. For
+  example, I find it quite useful to scrape content from some articles in
+  Markdown, and then save it to my [Nextcloud
+  Notes](https://apps.nextcloud.com/apps/notes) or
+  [Obsidian](https://obsidian.md).
+
+```bash
+# Example for Debian/Ubuntu
+❯ [sudo] apt install nodejs npm
+# Install Mercury Parser globally
+❯ [sudo] npm install -g @postlight/parser
+```
+
+- Add your subscriptions to the `~/.config/platypush/config.yaml` file:
+
+```yaml
+rss:
+  subscriptions:
+    - https://example.com/feed.xml
+    - https://example.com/atom.xml
+
+# Optional
+# http.webpage
+#   headers:
+#     # These headers will be used in all the requests made by the Mercury Parser.
+#     # You can still override the headers when you call the `http.webpage.simplify`
+#     # action though.
+#     User-Agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
+```
+
+- Create an event hook to handle new articles from the RSS feed and
+  distill them using the Mercury Parser API. You can e.g. create a
+  `~/.config/platypush/scripts/subscriptions.py` file with the following
+  content:
+
+```python
+import logging
+import urllib.parse
+
+from platypush import run, when
+from platypush.events.rss import NewFeedEntryEvent
+
+logger = logging.getLogger(__name__)
+
+# Optional, set the False if you don't want to use the Mercury Parser API
+USE_MERCURY_PARSER = True
+
+# If there are any websites that require specific headers to be passed,
+# for example paywalled news sites that you're subscribed to and require
+# authentication, you can specify them here.
+headers_by_domain = {
+  'example.com': {
+    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8',
+    'Accept-Language': 'en-US,en;q=0.5',
+    'Cookie': 'sessionid=your_cookie_value; other_cookie=other_value',
+  },
+}
+
+
+def get_headers(url: str) -> dict:
+    """
+    Get the headers to use for the request based on the URL.
+    """
+    domain = re.sub(r'^www\.', '', urllib.parse.urlparse(url).netloc)
+    return headers_by_domain.get(domain, {})
+
+
+@when(NewFeedEntryEvent)
+def scrape_and_save(event: NewFeedEntryEvent, **_):
+    """
+    Scrape and save the new article to Wallabag.
+    """
+    content = None
+    logger.info(
+      'New article available on %s - title: %s, url: %s',
+      event.feed_url,
+      event.title,
+      event.url
+    )
+
+    if USE_MERCURY_PARSER:
+      # Distill the article content using the Mercury Parser API
+      response = run(
+        'http.webpage.simplify',
+        url=url,
+        format='html',
+        headers=get_headers(event.url),
+      )
+
+      if not (response and response.get('content')):
+        logger.warning(f'Failed to distill {url} through Mercury Parser')
+      else:
+        content = response['content']
+
+    # Save the distilled content to Wallabag
+    run(
+      'wallabag.save',
+      title=event.entry.title,
+      content=content,
+      url=url,
+    )
+
+    logger.info(f'Saved {url} to Wallabag')
+```
+
+It is advised to run the Platypush script once _without_ the `@when` hook
+above, but with the `rss` plugin configured.
+
+The reason is that, on the first run, the `rss` plugin will fetch all the
+entries in the subscribed feeds and trigger the `NewFeedEntryEvent` for each
+of them. That in turn could end up with hundreds of articles pushed
+simultaneously to your Wallabag instance, you may not want that.
+
+The recommended flow instead (which should probably apply also any time you add
+new feeds to your subscriptions) is:
+
+1. Add the feeds to your `rss` plugin configuration.
+
+2. Restart the Platypush service and let it process all the `NewFeedEntryEvent`
+   events for the existing articles.
+
+3. Add the event hook logic to any file under `~/.config/platypush/scripts`.
+
+4. Restart the service - now only new entries will trigger the events.
+
+## Conclusions
+
+In this article we have seen how to set up a self-hosted solution to scrape and
+archive articles from the Web, and also how to automate the process through
+feed subscriptions.
+
+This is a powerful way to regain control over your reading experience, hopefully
+bringing it one step closer to the one you had with paper books or walks to the
+local library.
+
+Just remember to do so responsibly, only for personal use, and respecting the
+rights of content creators and publishers.
+
+It's fine to get creative and build your own reading experience by bypassing
+all the needless friction that has been added as media has moved to the digital
+space.
+
+But always remember to fund authors and creators in other ways, subscribe to
+those who produce high-quality content (even if you don't read content from
+their mobile app), and try to limit your scraping experience to personal use.
diff --git a/markdown/Read-and-archive-everything.md b/markdown/Read-and-archive-everything.md
deleted file mode 100644
index bf1c918..0000000
--- a/markdown/Read-and-archive-everything.md
+++ /dev/null
@@ -1,505 +0,0 @@
-[//]: # (title: Read and archive everything)
-[//]: # (description: Bypass client-side restrictions on news and blog articles, archive them and read them wherever you want)
-[//]: # (image: /img/twitter2mastodon.png)
-[//]: # (author: Fabio Manganiello <fabio@manganiello.tech>)
-[//]: # (published: 2025-06-04)
-
-I've always been an avid book reader as a kid.
-
-I liked the smell of the paper, the feeling of turning the pages, and the
-ability to read anywhere I wanted.
-
-As I grew and chose a career in tech and a digital-savvy lifestyle, I started
-to shift my consumption from the paper to the screen. But I *still* wanted the
-same feeling of a paper book, the same freedom of reading wherever I wanted.
-
-I was an early support of the Amazon Kindle idea, I quickly moved most of my
-physical books to the Kindle, I became a vocal supported of online magazines
-that also provided Kindle subscriptions, and I started to read more and more on
-e-ink devices.
-
-Then I noticed that, after an initial spike, not many magazines and blogs
-provided Kindle subscriptions or EPub versions of their articles.
-
-So nevermind - I started tinkering my way out of it and [wrote an article in
-2019](https://blog.platypush.tech/article/Deliver-articles-to-your-favourite-e-reader-using-Platypush)
-on how to use [Platypush](https://platypush.tech) with its [`rss`](https://docs.platypush.tech/platypush/plugins/rss.html),
-[`instapaper`](https://docs.platypush.tech/platypush/plugins/instapaper.html) and
-[`gmail`](https://docs.platypush.tech/platypush/plugins/google.mail.html)
-plugins to subscribe to RSS feeds, parse new articles, convert them to PDF and
-deliver them to my Kindle.
-
-Later I moved from Kindle to the first version of the
-[Mobiscribe](https://www.mobiscribe.com), as Amazon started to be more and more
-restrictive in its option to import and export stuff out of the Kindle, using
-Calibre and some DRM removal tools to export articles or books I had regularly
-purchased was becoming more cumbersome, and the Mobiscribe at that time was an
-interesting option because it offered a decent e-ink device, for a decent
-price, and it ran Android (an ancient version, but at least one that was
-sufficient to run [Instapaper](https://instapaper.com) and
-[KOReader](https://koreader.rocks)).
-
-That simplified things a bit because I didn't need intermediary delivery via
-email to get stuff on my Kindle or Calibre to try and pull things out of it. I
-was using Instapaper on all of my devices, included the Mobiscribe, I could
-easily scrape and push articles to it through Platypush, and I could easily
-keep track of my reading state across multiple devices.
-
-Good things aren't supposed to last though.
-
-Instapaper started to feel quite limited in its capabilities, and I didn't like
-the idea of a centralized server holding all of my saved articles. So I've
-moved to a self-hosted [Wallabag](https://wallabag.org) instance in the
-meantime - which isn't perfect, but provides a lot more customization and
-control.
-
-Moreover, more and more sites started implementing client-side restrictions for
-my scrapers - Instapaper was initially more affected, but slowly Wallabag too
-started bumping into Cloudflare screens, CAPTCHAs and paywalls.
-
-So the Internet Archive provided some temporary relief - I could still archive
-articles there, and then instruct my Wallabag instance to read them from the
-archive link.
-
-Except that, in the past few months, the Internet Archive has also started
-implementing anti-scraping features, and you'll most likely get a Cloudflare
-screen if you try and access an article from an external scraper.
-
-## A little ethical note before continuing
-
-I _do not_ condone nor support piracy.
-
-I mean, sometimes I do, but being a creator myself I always try to make sure
-that, if piracy is the only way to freely access content wherever I want, then
-creators are not being harmed (I don't mind harming any intermediaries that add
-friction to the process and prevent me from having a raw file that I can
-download and read wherever I want though).
-
-So I support creators via Patreon. I pay for subscriptions to digital magazines
-that I will anyway never read through their official mobile app. I send one-off
-donations when I find that some content was particularly useful to me. I buy
-physical books and magazines every now and then from authors or publishers that
-I want to support. And I'd probably support content creators even more if only
-they allowed me to pay only for the content I want to read, and not lock me
-into a Hotel California subscription ("_you can check out any time you like,
-but you can never leave_") because their PMs only care about recurring revenue.
-
-I also think that the current business model that runs most of the high-quality
-content available online (locking people into apps and subscriptions in order
-to view the content) is detrimental for the distribution of knowledge in what's
-supposed to be the age of information. If I want to be exposed to diverse
-opinions on what's going on in different industries or different parts of the
-world, I probably need at least a dozen subscriptions. And probably pay
-something off to download special reports. In the earlier days we didn't have
-to give away so much money if we wanted to access content for our personal
-research - we could just buy a book or a single issue of a magazine, or even
-just walk into a library and read content for free. If we have no digital
-alternatives for such simple and established ways to access knowledge, then
-piracy becomes almost a civic duty. It can't be that high quality reports or
-insightful blog articles are locked behind paywalls, subscriptions and apps and
-all that's left for free is cheap disinformation on social media. Future
-historians will have a very hard time deciphering what was going on in the
-world in the 2020s, because most of the content that was available online is
-now locked behind paywalls, the companies that ran those sites and built the
-apps may be long gone, and if publishers keep waging war against folks like the
-Internet Archive, then they may start looking at our age like some kind of
-strange digital dark age.
-
-I also think that it's my right, as a reader, to be able to consume content on a medium without distractions - like
-social media buttons, ads, comments, or other stuff that distracts me from the main content, and if the publisher
-doesn't provide me with a solution for that, and I have already paid for the content, then I should be able to build a
-solution myself.
-
-And I also demand the right to access the content I've paid for however I want.
-
-Do I want to export everything to Markdown or read it in ASCII art in a
-terminal? Do I want to export it to EPub so I can read it on my e-ink device?
-Do I want to access it without having to use their tracker-ridden mobile app,
-or without being forced to see ads despite having paid for a subscription?
-Well, that's my business. I firmly believe that it's not an author's or
-publisher's right to dictate how I access the content after paying for it. Just
-like in earlier times nobody minded if, after purchasing a book, I would share
-it with my kids, or lend it to a friend, or scan it and read it on my computer,
-or make the copies of a few pages to bring to my students or my colleagues.
-
-If some freedoms were legally granted to me before, and now they've been taken
-away, then it's not piracy if I keep demanding those freedoms.
-
-And content ownership is another problem. I'll no longer be able to access
-content I've read during my subscription period once my subscription expires.
-I'll not be able to pass on the books or magazine I've read in my lifetime to
-my kid. I'll never be able to lend it to someone else, just like I would leave
-a book I had read on a public bookshelf or a bench at the park for someone
-else to read it.
-
-In other words, buying now grants you a temporary license to access the content
-on someone else's devices - you don't really own anything.
-
-So, if buying isn't owning, then piracy isn't stealing.
-
-And again, to make it very clear, I'll be referring to *personal usage* in this
-article. The case where you support creators through other means, but the
-distribution channel is the problem, and you just want your basic freedoms
-as a content consumer back.
-
-If however you start to share scraped articles on the Web, or even worse profit
-from access to it, then you're *really* doing the kind of piracy I can't
-condone.
-
-With this out of the way, let's get our hands dirty.
-
-## The setup
-
-My current set up is quite complex. At some point I may package all the moving
-parts into a single stand-alone application, including both the browser
-extension and the backend, but at the moment it should be sufficient to get
-things to work.
-
-A high-level overview of the setup is as follows:
-
-<img alt="High-level overview of the scraper setup" src="http://s3.platypush.tech/static/images/wallabag-scraper-architecture.png" width="650px">
-
-Let's break down the building blocks of this setup:
-
-- **[Redirector](https://addons.mozilla.org/en-US/firefox/addon/redirector/)**
-  is a browser extension that allows you to redirect URLs based on custom
-  rules as soon as the page is loaded. This is useful to redirect paywalled
-  resources to the Internet Archive, which usually stores full copies of the
-  content. Even if you regularly paid for a subscription to a magazine, and you
-  can read the article on the publisher's site or from their app, your Wallabag
-  scraper will still be blocked if the site implements client-side restrictions
-  or is protected by Cloudflare. So you need to redirect the URL to the Internet
-  Archive, which will then return a copy of the article that you can scrape.
-
-- **[Platypush](https://platypush.tech)** is a Python-based general-purpose
-  platform for automation that I've devoted a good chunk of the past decade
-  to develop. It allows you to run actions, react to events and control devices
-  and services through a unified API and Web interface, and it comes with
-  [hundreds of supported integrations](https://docs.platypush.tech). We'll use
-  the [`wallabag`](https://docs.platypush.tech/platypush/plugins/wallabag.html)
-  plugin to push articles to your Wallabag instance, and optionally the
-  [`rss`](https://docs.platypush.tech/platypush/plugins/rss.html) plugin if you
-  want to programmatically subscribe to RSS feeds, scrape articles and archive
-  them to Wallabag, and the
-  [`ntfy`](https://docs.platypush.tech/platypush/plugins/ntfy.html) plugin to
-  optionally send notifications to your mobile device when new articles are
-  available.
-
-- **[Platypush Web extension](https://addons.mozilla.org/en-US/firefox/addon/platypush/)**
-  is a browser extension that allows you to interact with Platypush from your
-  browser, and it also provides a powerful JavaScript API that you can leverage
-  to manipulate the DOM and automate tasks in the browser. It's like a
-  [Greasemonkey](https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/)
-  or [Tampermonkey](https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/)
-  extension that allows you to write custom scripts to customize your browser
-  experience, but it also allows you to interact with Platypush and leverage
-  its backend capabilities. On top of that, I've also added built-in support
-  for the [Mercury Parser API](https://github.com/usr42/mercury-parser) in it,
-  so you can easily distill articles - similar to what Firefox does with its
-  [Reader
-  Mode](https://support.mozilla.org/en-US/kb/firefox-reader-view-clutter-free-web-pages),
-  but in this case you can customize the layout and modify the original DOM
-  directly, and the distilled content can easily be dispatched to any other
-  service or application. We'll use it to:
-
-  - Distill the article content from the page, removing all the
-    unnecessary elements (ads, comments, etc.) and leaving only the main text
-    and images.
-
-  - Temporarily archive the distilled article to a Web server capable of
-    serving static files, so Wallabag can get the full content and bypass any
-    client-side restrictions.
-
-  - Archive the distilled article to Wallabag, so you can read it later
-    from any device that has access to your Wallabag instance.
-
-- **[Wallabag](https://wallabag.org)** is a self-hosted read-it-later
-  service that allows you to save articles from the Web and read them later,
-  even offline. It resembles the features of the ([recently
-  defunct](https://support.mozilla.org/en-US/kb/future-of-pocket))
-  [Pocket](https://getpocket.com/home). It provides a Web interface, mobile
-  apps and browser extensions to access your saved articles, and it can also be
-  used as a backend for scraping articles from the Web.
-
-- (_Optional_) **[KOReader](https://koreader.rocks)** is an
-  open-source e-book reader that runs on a variety of devices, including any
-  e-ink readers that run Android (and even the
-  [Remarkable](https://github.com/koreader/koreader/wiki/Installation-on-Remarkable)).
-  It has a quite minimal interface and it may take a while to get used to, but
-  it's extremely powerful and customizable. I personally prefer it over the
-  official Wallabag app - it has a native Wallabag integration, as well as OPDS
-  integration to synchronize with my
-  [Ubooquity](https://docs.linuxserver.io/images/docker-ubooquity/) server,
-  synchronization of highlights and notes to Nextcloud Notes, WebDAV support
-  (so you can access anything hosted on e.g. your Nextcloud instance), progress
-  sync across devices through their [sync
-  server](https://github.com/koreader/koreader-sync-server), and much more. It
-  basically gives you a single app to access your saved articles, your books,
-  your notes, your highlights, and your documents.
-
-- (_Optional_) An Android-based e-book reader to run KOReader on. I have
-  recently switched from my old Mobiscribe to an [Onyx BOOX Note Air
-  4](https://www.onyxbooxusa.com/onyx-boox-note-air4-c) and I love it. It's
-  powerful, the display is great, it runs basically any Android app out there
-  (and I've had no issues with running any apps installed through
-  [F-Droid](https://f-droid.org)), and it also has a good set of stock apps,
-  and most of them support WebDAV synchronization - ideal if you have a
-  [Nextcloud](https://nextcloud.com) instance to store your documents and
-  archived links.
-
-**NOTE**: The Platypush extension only works with Firefox, on any Firefox-based
-browser, or on any browser out there that still supports the [Manifest
-V2](https://blog.mozilla.org/addons/2024/03/13/manifest-v3-manifest-v2-march-2024-update/).
-The Manifest V3 has been a disgrace that Google has forced all browser
-extension developers to swallow. I won't go in detail here, but the Platypush
-extension needs to be able to perform actions (such as calls to custom remote
-endpoints and runtime interception of HTTP headers) that are either no longer
-supported on Manifest V3, or that are only supported through laborious
-workarounds (such as using the declarative Net Request API to explicitly
-define what you want to intercept and what remote endpoints you want to call).
-
-**NOTE 2**: As of June 2025, the Platypush extension is only supported on
-Firefox for desktop. A Firefox for Android version [is
-work in progress](https://git.platypush.tech/platypush/platypush-webext/issues/1).
-
-Let's dig deeper into the individual components of this setup.
-
-## Redirector
-
-![Redirector extension screenshot](https://s3.platypush.tech/static/screenshots/Redirector.png)
-
-This is a nice addition if you want to automatically view some links through
-the Internet Archive rather than the original site.
-
-You can install it from the [Firefox Add-ons site](https://addons.mozilla.org/en-US/firefox/addon/redirector/).
-Once installed, you can create a bunch of rules (regular expressions are supported)
-to redirect URLs from paywalled domains that you visit often to the Internet Archive.
-
-For example, this regular expression:
-
-```
-^(https://([\w-]+).substack.com/p/.*)
-```
-
-will match any Substack article URL, and you can redirect it to the Internet Archive
-through this URL:
-
-```
-https://archive.is/$1
-```
-
-Next time you open a Substack article, it will be automatically redirected to its
-most recent archived version - or it will prompt you to archive the URL if it's not
-been archived yet.
-
-## Wallabag
-
-![Wallabag screenshot](https://s3.platypush.tech/static/screenshots/wallabag-1.png)
-
-Wallabag can easily be installed on any server [through Docker](https://doc.wallabag.org/developer/docker/).
-
-Follow the documentation for the set up of your user and create an API token from the Web interface.
-
-It's also advised to [set up a reverse
-proxy](https://doc.wallabag.org/admin/installation/virtualhosts/#configuration-on-nginx) in front of Wallabag, so you
-can easily access it over HTTPS.
-
-Once configured the reverse proxy, you can generate a certificate for it - for example, if you use
-[`certbot`](https://certbot.eff.org/) and `nginx`:
-
-```bash
-certbot --nginx -d your-domain.com
-```
-
-Then you can access your Wallabag instance at `https://your-domain.com` and log in with the user you created.
-
-Bonus: I personally find the Web interface of Wallabag quite ugly - the fluorescent light blue headers are distracting
-and the default font and column width isn't ideal for my taste. So I made a [Greasemonkey/Tampermonkey
-script](https://gist.manganiello.tech/fabio/ec9e28170988441d9a091b3fa6535038) to make it better if you want (see
-screenshot above).
-
-## [_Optional_] ntfy
-
-[ntfy](https://ntfy.sh) is a simple HTTP-based pub/sub notification service that you can use to send notifications to
-your devices or your browser. It provides both an [Android app](https://f-droid.org/en/packages/io.heckel.ntfy/) and a
-[browser addon](https://addons.mozilla.org/en-US/firefox/addon/send-to-ntfy/) to send and receive notifications,
-allowing you to open saved links directly on your phone or any other device subscribed to the same topic.
-
-Running it via docker-compose [is quite
-straightforward](https://github.com/binwiederhier/ntfy/blob/main/docker-compose.yml).
-
-It's also advised to serve it behind a reverse proxy with HTTPS support, keeping in mind to set the right header for the
-Websocket paths - example nginx configuration:
-
-```nginx
-map $http_upgrade $connection_upgrade {
-    default upgrade;
-    '' close;
-}
-
-server {
-  server_name notify.example.com;
-
-  location / {
-      proxy_pass http://your-internal-ntfy-host:port;
-
-      client_max_body_size 5M;
-
-      proxy_read_timeout 60;
-      proxy_connect_timeout 60;
-      proxy_redirect off;
-
-      proxy_set_header Host $http_host;
-      proxy_set_header X-Real-IP $remote_addr;
-      proxy_set_header X-Forwarded-Ssl on;
-      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-  }
-
-  location ~ .*/ws/?$ {
-      proxy_http_version 1.1;
-      proxy_set_header Upgrade $http_upgrade;
-      proxy_set_header Connection $connection_upgrade;
-      proxy_set_header Host $http_host;
-      proxy_pass http://your-internal-ntfy-host:port;
-  }
-}
-```
-
-Once the server is running, you can check the connectivity by opening your server's main page in your browser.
-
-## Local Web server
-
-This approach uses an intermediary Web server to temporarily archive the distilled article content, if available, and
-instructing Wallabag to parse it from there.
-
-## Platypush
-
-Create a new virtual environment and install Platypush with the `wallabag` and `rss`
-plugin dependencies through `pip`:
-
-```bash
-python3 -m venv venv
-source venv/bin/activate
-pip install 'platypush[wallabag,rss]'
-```
-
-Then create a new configuration file `~/.config/platypush/config.yaml` with the following configuration:
-
-```yaml
-# Web server configuration
-backend.http:
-  # - port: 8008
-
-# Wallabag configuration
-wallabag:
-  server_url: https://your-domain.com
-  client_id: your_client_id
-  client_secret: your_client_secret
-  # Your Wallabag user credentials are required for the first login.
-  # It's also advised to keep them here afterwards so the refresh
-  # token can be automatically updated.
-  username: your_username
-  password: your_password
-```
-
-Then you can start the service with:
-
-```bash
-platypush
-```
-
-You can also create a systemd service to run Platypush in the background:
-
-```bash
-mkdir -p ~/.config/systemd/user
-
-cat <<EOF > ~/.config/systemd/user/platypush.service
-[Unit]
-Description=Platypush service
-After=network.target
-
-[Service]
-ExecStart=/path/to/venv/bin/platypush
-Restart=always
-RestartSec=5
-EOF
-
-systemctl --user daemon-reload
-systemctl --user enable --now platypush.service
-```
-
-After starting the service, head over to `http://your_platypush_host:8008` (or the port you configured in the
-`backend.http` section) and create a new user account.
-
-It's also advised to serve the Platypush Web server behind a reverse proxy with HTTPS support if you want it to easily
-be accessible from the browser extension - a basic `nginx` configuration [is available on the
-repo](https://git.platypush.tech/platypush/platypush/src/branch/master/examples/nginx/nginx.sample.conf).
-
-## Platypush Web extension
-
-You can install the Platypush Web extension from the [Firefox Add-ons
-site](https://addons.mozilla.org/en-US/firefox/addon/platypush/).
-
-After installing it, click on the extension popup and add the URL of your Platypush Web server.
-
-![Platypush Web extension - authentication
-screenshot](https://s3.platypush.tech/static/screenshots/webext/add-device.png)
-
-When successfully connected, you should see the device in the main menu, you can run commands on it and save actions.
-
-A good place to start familiarizing with the Platypush API is the _Run Action_ dialog, which allows you to run commands
-on your server and provides autocomplete for the available actions, as well as documentation about their arguments.
-
-![Platypush Web extension - run dialog](https://s3.platypush.tech/static/screenshots/webext/run-2.png)
-
-The default action mode is _Request_ (i.e. single requests against the API). You can also pack together more actions on
-the backend [into
-_procedures_](https://docs.platypush.tech/wiki/Quickstart.html#greet-me-with-lights-and-music-when-i-come-home), which
-can be written either in the YAML config or as Python scripts (by default loaded from `~/.config/platypush/scripts`).
-If correctly configured, procedures will be available in the _Run Action_ dialog.
-
-The other mode, which we'll use in this article, is _Script_. In this mode you can write custom JavaScript code that
-can interact with your browser.
-
-![Platypush Web extension - script mode](https://platypush-static.s3.nl-ams.scw.cloud/screenshots/webext/script.png)
-
-[Here](https://gist.github.com/BlackLight/d80c571705215924abc06a80994fd5f4) is a sample script that you can use as a
-reference for the API exposed by the extension. Some examples include:
-
-- `app.run`, to run an action on the Platypush backend
-
-- `app.getURL`, `app.setURL` and `app.openTab` to get and set the current URL, or open a new tab with a given URL
-
-- `app.axios.get`, `app.axios.post` etc. to perform HTTP requests to other external services through the Axios
-  library
-
-- `app.getDOM` and `app.setDOM` to get and set the current page DOM
-
-- `app.mercury.parse` to distill the current page content using the Mercury Parser API
-
-### Reader mode script
-
-We can put together the building blocks above to create our first script, which will distill the current page content
-and replace the swap the current page DOM with the simplified content - with no ads, comments, or other distracting
-visual elements. The full content of the script is available
-[here](https://gist.manganiello.tech/fabio/c731b57ff6b24d21a8f43fbedde3dc30).
-
-This is akin to what Firefox' [Reader
-Mode](https://support.mozilla.org/en-US/kb/firefox-reader-view-clutter-free-web-pages) does, but with much more room for
-customization.
-
-Note that for this specific script we don't need any interactions with the Platypush backend. Everything happens on the
-client, as the Mercury API is built into the Platypush Web extension.
-
-Switch to _Script_ mode in the _Run Action_ dialog, paste the script content and click on _Save Script_. You can also
-choose a custom name, icon ([FontAwesome](https://fontawesome.com/icons) icon classes are supported), color and group
-for the script. Quite importantly, you can also associate a keyboard shortcut to it, so you can quickly distill a page
-without having to search for the command either in the extension popup or in the context menu.
-
-### Save to Wallabag script
-
-Now that we have a script to distill the current page content, we can create another script to save the distilled
-content (if available) to Wallabag. Otherwise, it will just save the original page content.
-
-The full content of the script is available
-[here](https://gist.manganiello.tech/fabio/8f5b08d8fbaa404bafc6fdeaf9b154b4).

From 2ffc1db81f388f57ccf6b7c0ca10131a2e1f4591 Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <fabio@manganiello.tech>
Date: Thu, 5 Jun 2025 23:06:38 +0200
Subject: [PATCH 16/18] Reviewed article

---
 ...ing-a-better-digital-reading-experience.md | 142 +++++++++++-------
 1 file changed, 84 insertions(+), 58 deletions(-)

diff --git a/markdown/Building-a-better-digital-reading-experience.md b/markdown/Building-a-better-digital-reading-experience.md
index ca5a2a7..9370a3b 100644
--- a/markdown/Building-a-better-digital-reading-experience.md
+++ b/markdown/Building-a-better-digital-reading-experience.md
@@ -71,76 +71,91 @@ Except that, in the past few months, the Internet Archive has also started
 implementing anti-scraping features, and you'll most likely get a Cloudflare
 screen if you try and access an article from an external scraper.
 
-## A little ethical note before continuing
+## An ethical note before continuing
 
 _Feel free to skip this part and go to the technical setup section if you
 already agree that, if buying isn't owning, then piracy isn't stealing._
 
-I _do not_ condone nor support piracy.
+#### Support your creators (even when you wear your pirate hat)
 
-I mean, sometimes I do, but being a creator myself I always try to make sure
-that, if piracy is the only way to freely access content wherever I want, then
-creators are not being harmed.
+I _do not_ condone nor support piracy when it harms content creators.
+
+Being a content creator myself I know how hard it is to squeeze some pennies
+out of our professions or hobbies, especially in a world like the digital
+one where there are often too many intermediaries to take a share of the pie.
 
 I don't mind however harming any intermediaries that add friction to the
 process just to have a piece of the pie, stubbornly rely on unsustainable
 business models that sacrifices both the revenue of the authors and the privacy
 and freedom of the readers, and prevent me from having a raw file that I can
-download and read wherever I want though. It's because of those folks that the
-digital reading experience, despite all the initial promises, has become much
-worse than reading physical books and magazines. So I don't see a big moral
-conundrum in pirating to harm those folks and get back my basic freedoms as a
-reader.
+download and read wherever I want just I would do with a physical book or
+magazine. It's because of those folks that the digital reading experience,
+despite all the initial promises, has become much worse than the analog one.
+So I don't see a big moral conundrum in pirating to harm those folks and get
+back my basic freedoms as a reader.
 
 But I do support creators via Patreon. I pay for subscriptions to digital
-magazines that I will anyway never read through their official mobile app.
-Every now and then I buy physical books and magazines that I've already read
-and that I've really enjoyed, to support the authors, just like I still buy
-some vinyls of albums I really love even though I could just stream them. And I
-send one-off donations when I find that some content was particularly useful to
-me. And I'd probably support content creators even more if only they allowed me
-to pay only for the digital content I want to read, if only there was a viable
-digital business model also for the occasional reader, instead of everybody
-trying to lock me into a Hotel California subscription ("_you can check out any
-time you like, but you can never leave_") just because their business managers
-are those folks who have learned how to use the hammer of the recurring
-revenue, and think that every problem in the world is a subscription nail to be
-hit on its head.
+magazines that I will anyway never read through their official app. Every now
+and then I buy physical books and magazines that I've already read and that
+I've really enjoyed, to support the authors, just like I still buy some vinyls
+of albums I really love even though I could just stream them. And I send
+one-off donations when I find that some content was particularly useful to me.
+And I'd probably support content creators even more if only more of their
+distribution channels allowed me to pay only for the digital content that I
+want to consume, if only there was a viable digital business model also for the
+occasional reader, instead of everybody trying to lock me into a Hotel
+California subscription ("_you can check out any time you like, but you can
+never leave_") just because their business managers are those folks who have
+learned how to use the hammer of the recurring revenue, and think that every
+problem in the world is a subscription nail to be hit on its head. Maybe
+micropayments could be a solution, but for now cryptobros have decided that the
+future of modern digital payments should be more like a gambling den for thugs,
+shitcoin speculators and miners, rather than a solution to directly put in
+contact content creators and consumers, bypassing all the intermediaries, and
+let consumers pay only for what they consume.
 
-I also think that the current business model that runs most of the high-quality
-content available online (locking people into apps and subscriptions in order
-to view the content) is detrimental for the distribution of knowledge in what's
-supposed to be the age of information. If I want to be exposed to diverse
-opinions on what's going on in different industries or different parts of the
-world, I'd probably need at least a dozen subscriptions, while in earlier
-generations folks could just walk into their local library or buy a single
-issue of a newspaper every now and then.
+#### The knowledge distribution problem
 
-If we have no digital alternatives for such simple and established ways to
-access and spread knowledge, then piracy is almost a civic duty. It can't be
-that high quality reports or insightful blog articles are locked behind
-paywalls, subscriptions and apps, and all that's left for free is cheap
-disinformation on social media. Future historians will have a very hard time
-deciphering what was going on in the world in the 2020s, because most of the
-content that was available online is now locked behind paywalls, the companies
-that ran those sites and built the apps may be long gone, and if publishers
-keep waging war against folks like the Internet Archive, then they may start
-looking at our age like some kind of strange digital dark age.
+I also believe that the most popular business model behind most of the
+high-quality content available online (locking people into apps and
+subscriptions in order to view the content) is detrimental for the distribution
+of knowledge in what's supposed to be the age of information. If I want to be
+exposed to diverse opinions on what's going on in different industries or
+different parts of the world, I'd probably need at least a dozen subscriptions,
+while in earlier generations folks could just walk into their local library or
+buy a single book or a single issue of a newspaper every now and then.
+
+I don't think that we should settle for a world where the best reports, the
+best journalism and the most insightful blog articles are locked behind
+paywalls, subscriptions and closed apps, without even a Spotify/Netflix-like
+all-you-can-eat solution being considered to lower access barriers, and all
+that's left for free is cheap disinformation on social media and AI-generated
+content. Future historians will have a very hard time deciphering what was
+going on in the world in the 2020s, because most of the high-quality content
+needed to decipher our age is locked behind some kind of technological wall.
+The companies that run those sites and build those apps will most likely be
+gone in a few years or decades. And, if publishers also keep waging war against
+folks like the Internet Archive, then future historians may really start
+looking at our age like some kind of strange hyper-connected digital dark age.
+
+#### The content consumption problem
 
 I also think that it's my right, as a reader, to be able to consume content on
 a medium without distractions - like social media buttons, ads, comments, or
-other stuff that distracts me from the main content, and if the publisher
+other stuff that distracts me from the main content. And, if the publisher
 doesn't provide me with a solution for that, and I have already paid for the
-content, then I should be able to build a solution myself. Even in an age where
-attention is the new currency, at least we should not try to grab people's
-attention when they're trying to read some dense content - that's just common
-sense.
+content, then I should be granted the right to build such a solution myself.
+Even in an age where attention is the new currency, at least we should not try
+to grab people's attention when they're trying to read some dense content. Just
+like you wouldn't interrupt someone who's reading in a library saying "hey btw,
+I know a shop that sells exactly the kind of tea cups described in the page
+you're reading right now".
 
-And I also demand the right to access the content I've paid for however I want.
+And I also demand the right to access the content I've paid however I want.
 
 Do I want to export everything to Markdown or read it in ASCII art in a
-terminal? Do I want to export it to EPub so I can read it on my e-ink device?
-Do I want to export it to PDF and email it to one of my students for a research
+terminal? Do I want to export it to EPUB so I can read it on my e-ink device?
+Do I want to export it to PDF and email it to one of my colleagues for a research
 project, or to myself for later reference? Do I want to access it without
 having to use their tracker-ridden mobile app, or without being forced to see
 ads despite having paid for a subscription? Well, that's my business. I firmly
@@ -152,14 +167,25 @@ bring to my students or my colleagues for a project, or leave it on a bench at
 the park or in a public bookshelf after reading it.
 
 If some freedoms were legally granted to me before, and now they've been taken
-away, then it's not piracy if I keep demanding those freedoms.
+away, then it's not piracy if I keep demanding those freedoms. The whole point
+of a market-based economy should be to keep the customer happy and give more
+choice and freedom, not less, as technology advances. Otherwise the market is
+probably not working as intended.
+
+#### The content ownership problem
+
+Content ownership is another issue in the current digital media economy.
+
+I'll probably no longer be able to access content I've read during my
+subscription period once my subscription expires, especially if it was only
+available through an app. In the past I could cancel my subscription to
+National Geographic at any moment, and all the copies I had purchased wouldn't
+just magically disappear from my bookshelf after paying the last bill.
 
-And content ownership is another problem. I'll no longer be able to access
-content I've read during my subscription period once my subscription expires.
 I'll not be able to pass on the books or magazines I've read in my lifetime to
-my kid. I'll never be able to lend it to someone else, just like I would leave
-a book I had read on a public bookshelf or a bench at the park for someone
-else to read it.
+my kid. I'll never be able to lend them to someone else, just like I would leave
+a book I had read on a public bookshelf or a bench at the park for someone else
+to read it.
 
 In other words, buying now grants you a temporary license to access the content
 on someone else's device - you don't really own anything.
@@ -168,12 +194,12 @@ So, if buying isn't owning, piracy isn't stealing.
 
 And again, to make it very clear, I'll be referring to *personal use* in this
 article. The case where you support creators through other means, but the
-distribution channel and the  business models are the problem, and you just
+distribution channel and the business models are the problem, and you just
 want your basic freedoms as a content consumer back.
 
 If however you want to share scraped articles on the Web, or even worse profit
-from access to it, then you're *really* doing the kind of piracy I can't
-condone.
+from access to it without sharing those profits with the creators, then you're
+*really* doing the kind of piracy I can't condone.
 
 With this out of the way, let's get our hands dirty.
 

From f516869bb397b7152bfd282b2f3bbfa744373c1e Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <fabio@manganiello.tech>
Date: Thu, 5 Jun 2025 23:20:40 +0200
Subject: [PATCH 17/18] Minor fixes

---
 markdown/Building-a-better-digital-reading-experience.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/markdown/Building-a-better-digital-reading-experience.md b/markdown/Building-a-better-digital-reading-experience.md
index 9370a3b..955ec2c 100644
--- a/markdown/Building-a-better-digital-reading-experience.md
+++ b/markdown/Building-a-better-digital-reading-experience.md
@@ -16,8 +16,8 @@ same feeling of a paper book, the same freedom of reading wherever I wanted
 without distractions, and without being constantly watched by someone who will
 recommend me other products based on what I read or how I read.
 
-I was an early support of the Amazon Kindle idea, I quickly moved most of my
-physical books to the Kindle, I became a vocal supported of online magazines
+I was an early support of the Amazon Kindle idea. I quickly moved most of my
+physical books to the Kindle, I became a vocal supporter of online magazines
 that also provided Kindle subscriptions, and I started to read more and more on
 e-ink devices.
 

From 8a68a02b9d3bbc4c7ddd3691db0b578a9b665ff5 Mon Sep 17 00:00:00 2001
From: Fabio Manganiello <fabio@manganiello.tech>
Date: Thu, 5 Jun 2025 23:24:32 +0200
Subject: [PATCH 18/18] Minor fixes

---
 markdown/Building-a-better-digital-reading-experience.md | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/markdown/Building-a-better-digital-reading-experience.md b/markdown/Building-a-better-digital-reading-experience.md
index 955ec2c..2a414b0 100644
--- a/markdown/Building-a-better-digital-reading-experience.md
+++ b/markdown/Building-a-better-digital-reading-experience.md
@@ -121,9 +121,10 @@ high-quality content available online (locking people into apps and
 subscriptions in order to view the content) is detrimental for the distribution
 of knowledge in what's supposed to be the age of information. If I want to be
 exposed to diverse opinions on what's going on in different industries or
-different parts of the world, I'd probably need at least a dozen subscriptions,
-while in earlier generations folks could just walk into their local library or
-buy a single book or a single issue of a newspaper every now and then.
+different parts of the world, I'd probably need at least a dozen subscriptions
+and a similar number of apps on my phone, all pushing notifications, while in
+earlier generations folks could just walk into their local library or buy a
+single book or a single issue of a newspaper every now and then.
 
 I don't think that we should settle for a world where the best reports, the
 best journalism and the most insightful blog articles are locked behind