{"generator":"Jekyll","link":[{"@attributes":{"href":"https:\/\/xai.sh\/feed.xml","rel":"self","type":"application\/atom+xml"}},{"@attributes":{"href":"https:\/\/xai.sh\/","rel":"alternate","type":"text\/html"}}],"updated":"2025-10-18T21:37:55+02:00","id":"https:\/\/xai.sh\/feed.xml","title":".\/xai.sh","entry":[{"title":"Build a Signal Desktop AppImage from source","link":{"@attributes":{"href":"https:\/\/xai.sh\/2023\/01\/04\/Signal-desktop.html","rel":"alternate","type":"text\/html","title":"Build a Signal Desktop AppImage from source"}},"published":"2023-01-04T00:00:00+01:00","updated":"2023-01-04T00:00:00+01:00","id":"https:\/\/xai.sh\/2023\/01\/04\/Signal-desktop","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"summary":{"@attributes":{"type":"html"}}},{"title":"Compile Mozilla VPN client from source","link":{"@attributes":{"href":"https:\/\/xai.sh\/2022\/12\/30\/mozilla-vpn-from-source.html","rel":"alternate","type":"text\/html","title":"Compile Mozilla VPN client from source"}},"published":"2022-12-30T00:00:00+01:00","updated":"2022-12-30T00:00:00+01:00","id":"https:\/\/xai.sh\/2022\/12\/30\/mozilla-vpn-from-source","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"summary":{"@attributes":{"type":"html"}}},{"title":"Rate-limit userspace processes and virtual machines","link":{"@attributes":{"href":"https:\/\/xai.sh\/2021\/05\/30\/Rate-limit-processes.html","rel":"alternate","type":"text\/html","title":"Rate-limit userspace processes and virtual machines"}},"published":"2021-05-30T00:00:00+02:00","updated":"2021-05-30T00:00:00+02:00","id":"https:\/\/xai.sh\/2021\/05\/30\/Rate-limit-processes","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"summary":{"@attributes":{"type":"html"}}},{"title":"Use git filter to prevent a change from being committed","link":{"@attributes":{"href":"https:\/\/xai.sh\/2020\/11\/03\/git-filter.html","rel":"alternate","type":"text\/html","title":"Use git filter to prevent a change from being committed"}},"published":"2020-11-03T00:00:00+01:00","updated":"2020-11-03T00:00:00+01:00","id":"https:\/\/xai.sh\/2020\/11\/03\/git-filter","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"summary":{"@attributes":{"type":"html"}}},{"title":"Move a running process into a tmux session","link":{"@attributes":{"href":"https:\/\/xai.sh\/2020\/10\/16\/Move-running-process-into-tmux-session.html","rel":"alternate","type":"text\/html","title":"Move a running process into a tmux session"}},"published":"2020-10-16T00:00:00+02:00","updated":"2020-10-16T00:00:00+02:00","id":"https:\/\/xai.sh\/2020\/10\/16\/Move-running-process-into-tmux-session","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"summary":{"@attributes":{"type":"html"}}},{"title":"Finding files in git repositories using checksums","link":{"@attributes":{"href":"https:\/\/xai.sh\/2019\/03\/13\/Find-file-in-git-by-hash.html","rel":"alternate","type":"text\/html","title":"Finding files in git repositories using checksums"}},"published":"2019-03-13T00:00:00+01:00","updated":"2019-03-13T00:00:00+01:00","id":"https:\/\/xai.sh\/2019\/03\/13\/Find-file-in-git-by-hash","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"summary":{"@attributes":{"type":"html"}}},{"title":"Set default python version in Debian stretch","link":{"@attributes":{"href":"https:\/\/xai.sh\/2019\/03\/07\/Debian-stretch-default-python.html","rel":"alternate","type":"text\/html","title":"Set default python version in Debian stretch"}},"published":"2019-03-07T00:00:00+01:00","updated":"2019-03-07T00:00:00+01:00","id":"https:\/\/xai.sh\/2019\/03\/07\/Debian-stretch-default-python","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"summary":{"@attributes":{"type":"html"}}},{"title":"Adding arbitrary files to a gist","link":{"@attributes":{"href":"https:\/\/xai.sh\/2019\/02\/25\/Add-arbitrary-files-to-gists.html","rel":"alternate","type":"text\/html","title":"Adding arbitrary files to a gist"}},"published":"2019-02-25T00:00:00+01:00","updated":"2019-02-25T00:00:00+01:00","id":"https:\/\/xai.sh\/2019\/02\/25\/Add-arbitrary-files-to-gists","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"summary":{"@attributes":{"type":"html"}}},{"title":"Rate-limit pipes with pv","link":{"@attributes":{"href":"https:\/\/xai.sh\/2019\/02\/08\/Rate-limiting-pipes.html","rel":"alternate","type":"text\/html","title":"Rate-limit pipes with pv"}},"published":"2019-02-08T00:00:00+01:00","updated":"2019-02-08T00:00:00+01:00","id":"https:\/\/xai.sh\/2019\/02\/08\/Rate-limiting-pipes","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"summary":{"@attributes":{"type":"html"}}},{"title":"Encrypted backups with restic","link":{"@attributes":{"href":"https:\/\/xai.sh\/2018\/10\/08\/restic.html","rel":"alternate","type":"text\/html","title":"Encrypted backups with restic"}},"published":"2018-10-08T00:00:00+02:00","updated":"2018-10-08T00:00:00+02:00","id":"https:\/\/xai.sh\/2018\/10\/08\/restic","content":{"@attributes":{"type":"html"}},"author":{"name":{}},"summary":{"@attributes":{"type":"html"}}}]}