In this article I explain how I set up Matrix bridges to centralised communication services like Signal, Telegram and Slack.| Proycon's website
Do not Restrict Me! How copy protection (DRM) on e-books harms our freedom and what to do about it Part I: DRM Hell Like many people, I like reading books. My favourite genre is science fiction, but I also like the occasional gay romance and I love to diversify by reading books in different languages. My home isn't too spacious, and with two completely filled-up bookcases there's little room left for more physical books, so I've hopped on the e-book bandwagon over a decade ago, I generally pr...| Proycon's website
Canto Ostinato - Simeon Ten Holt This is my own interpretation of (small part of) Simeon Ten Holt's wonderful composition "Canto Ostinato", famous for its repetitive nature.| Proycon's website
There seems to be a bit of a hype going currently amongst bloggers where people post what their so-called "default apps" or mostly used applications are, apparently prompted by this podcast and Robb Knight's list . I see most of the participants posting a variety of often Apple-based proprietary software. I thought I'd join in on the fun from a purely FOSS (Free Open Source Software) perspective. I have a strong preference for minimalistic local-first software following the UNIX philosophy (d...| Proycon's website
Rant against centralising e-mail in big-tech silos, and breaking the internet in the process Universities and research institutes used to be at the forefront when it comes to development of the fundamental technologies that power the internet. As early as 1965, researchers at MIT developed a kind of precursor to e-mail. In 1978, researchers at Berkeley leveraged the already existing unix tool 'mail' (1971) to communicate over a larger network. Universities and research institutes were among t...| Proycon's website
STAM: Stand-off Text Annotation Model STAM is a data model for stand-off text annotation. The underlying premise is that any information on a text is represented as an annotation. We define an annotation as any kind of remark, classification/tagging on any particular portion(s) of a text, or on the resource or annotation set as a whole, in which case we can interpret annotations as metadata. Additionally, rather than reference the text directly, annotations may point to other annotations (hig...| Proycon's website
Todo.txt More: Efficiently managing your todo list and your time Introduction I tend to get fairly enthusiastic when it comes to lists, even more so when there's a chance to optimise my productivity. The end of the year is a time for looking backward and forward, so what better time to revise my time management solution than this? Over the years, I've tried various ways of keeping todo lists. Some methods were more successful than others. Too often I found myself abandoning the lists I had be...| Proycon's website
This is a set of complementary extensions for todo.txt . I wrote an extensive [/posts/todo/](blog post about it) which should give a good impression of what it can do. The following extensions are implemented: more - Main entry point, shortcut invoking various underlying plugins. By default displays a list with better sorting (relsort) and colour highlighting (format) edit - Invokes editor to edit todo.txt. show - Show a single task based on item number priup - Priority up pridown - Priority ...| Proycon's website
Babilado kun ChatGPT pri naskiĝtagon, skibmaŝinojn, neĝoglobukarulojn kaj la sencon de la vivo Ĉi tiu estas ekzakta neredaktikta protokolo de la konversacio kiu mi havis kun ChatGPT, AI lingvomodelo, por testi ĝin (mi komencas, en verda) / This is an exact unedited log of the conversation I had with ChatGPT, an AI language model, in order to test it (I begin, in green) ĉu mi povas paroli Esperanton kun vi? Jes, vi povas paroli Esperanton kun mi. Mi estas tre feliĉa paroli Esperanton ku...| Proycon's website
Codemeta Harvester This is a harvester for software metadata. It actively attempts to detect and convert software metadata in source code repositories and converts this to a unified codemeta representation. The tool is implemented as a simple POSIX shell script that in turn invokes a number of tools to do the actual work: codemetapy - Conversion to codemeta from various other metadata formats cffconvert - Conversion from CITATION.cff to codemeta A few simple additional metadata extractions me...| Proycon's website
Analiticcl Analiticcl is an approximate string matching or fuzzy-matching system that can be used for spelling correction or text normalisation (such as post-OCR correction or post-HTR correction). Texts can be checked against a validated or corpus-derived lexicon (with or without frequency information) and spelling variants will be returned. The distinguishing feature of the system is the usage of anagram hashing to drastically reduce the search space and make quick lookups possible even ove...| Proycon's website
wvkbd: On-screen keyboard for wl-roots This project aims to deliver a minimal but practically usable implementation of a wlroots on-screen keyboard in legible C. It is not my original work. The project was started by John Sullivan. I and other Sxmo developers extended it and took over maintainership.| Proycon's website
Sxmo: Simple X mobile - A minimalist environment for Linux smartphones We presented Sxmo at AlpineConf 2021: Details shown in this video: Hardware: Pinephone 1.2 Environment: Sxmo Distribution: PostmarketOS, on top of Alpine Linux Window Manager: dwm Terminal: st Virtual Keyboard: svkbd Note: our IRC channel moved to oftc.net rather than Freenode (as shown in the video) due to the hostile takeover of the latter network.| Proycon's website
Clickclack Clickclack is a simple haptic feedback and audio feedback tool. It does nothing more than emulate the clickclack sound and vibration when pressing keys. This tools reads from standard input and emits a vibration and/or a sound whenever it receives a character. It is intented to be used in combination with a virtual keyboard like svkbd (X11) or wvkbd (wayland).| Proycon's website
Een antwoord op corona-skepsis Inleiding We zitten midden in een pandemie met ongekende maatregelen die de meeste van ons in het westen nog nooit gezien hebben. Het coronavirus en alle maatregelen zorgen begrijpelijkerwijs wereldwijd voor opschudding. In dit opiniestuk reageer ik op het verschijnsel van de coronaskepticus, of in extreme de complotdenker, en probeer ik mijn visie hierop voor mezelf en anderen wat te duiden. Toen de eerste signalen van het coronavirus uit China kwamen trok dit ...| Proycon's website
The Disinformation Age They say this is the Information Age, but it may as well be called the Disinformation Age given the state of current affairs. This week, an angry mob stormed the US Capitol, whipped up for months, if not years, by an ever increasing torrent of falsehoods from their President. The shock of how many people would follow such a person already struck me in 2016 when they, to my great surprise, actually elected him into office. Now, in 2020, he lost the election. This is not ...| Proycon's website
Homepage update: from Hugo to Zola At the start of 2019, I launched a new incarnaton of homepage (yes, I still call it "homepage", it has a nice nostalgic touch to it of a time where people still bothered to create their own little corner on the internet instead of joining corporate social networks en masse) . I had chucked away my old site that still relied on server-side processing (I believe it was Django-based at the time), which stopped being the hip thing to do many years ago. Instead, ...| Proycon's website
SVKBD: Simple Virtual Keyboard This is a simple virtual keyboard, intended to be used in environments where no physical keyboard is available. This is a suckless tool and is not my original work, I simply extended this software with a lot of functionality needed for sxmo, a mobile environment for the pinephone.| Proycon's website
Sxmo: Simple X Mobile Sxmo, or Simple X Mobile, is a collection of simple and suckless X programs and scripts used together to create a fully functional mobile UI adhering to the Unix philosophy for the Pinephone. You control the UI largely through using the Pinephone buttons (press different numbers of times quickly for different actions) and swipe gestures. This software project is an initiative by Miles Alan. I contributed in certain areas and am currently a co-maintainer of this project. ...| Proycon's website
SXMO: Simple X mobile - demo video on a pinephone Details shown in this video: Hardware: Pinephone 1.2 Environment: Sxmo Distribution: PostmarketOS Window Manager: dwm Terminal: st Virtual Keyboard: svkbd Browser: surf The above are standard for sxmo, some customisations shown in the video: Reddit client: tuir Mail client: neomutt Calendar: calcurse Gruvbox theme Dotfiles Wallpaper| Proycon's website
Vocage Vocage is a minimalistic terminal-based vocabulary-learning tool. It presents flashcards using a spaced-repetition algorithm (e.g. Leitner); words you know well will be presented less and less frequently and words you have problems with will be repeated more often. You quickly move cards/words between decks and each deck has an associated presentation interval. You can use vocage for anything you'd use flashcards for and not necessarily limited to learning languages. The aim of this so...| Proycon's website
Sesdiff This is a small and fast command line tool and Rust library that reads a two-column tab separated input from standard input and computes the shortest edit script (Myers' diff algorithm) to go from the string in column A to the string in column B. It also computed the edit distance (aka levenshtein distance).| Proycon's website
Break Free! Don't be a prisoner of your software platform! "An opinion piece on software, social media, and ethics", by Maarten van Gompel (proycon) I don't use Windows or macOS, I don't use Facebook or Instagram, I won't use WhatsApp, my Android phone has no Google Play store or Google services. I minimize my use of Google as a search engine and I don't like using Zoom, Skype, Facetime or Slack to talk to people. And to add the cherry to the cake, although you are of course free to choose fo...| Proycon's website
My PhD thesis Context as Linguistic Bridges has been released and is to be defended soon: Context as Linguistic Bridges is a study that focusses on the role of context information in machine translation, i.e. automated translation by computers. The underlying intuition is that the context in which a word or phrase appears is an important cue for the translation of that word or phrase. Consider, for example, the two different meanings of the word bank in the sentences I put my money on the ban...| Proycon's website
Hanzigrid & Learning chinese characters based on visual similarity 大家好! I've been trying to learn Mandarin Chinese for quite a while, following the vocabulary compiled for the HSK (汉语水平考试) tests. As every Chinese learner will surely know, memorising all the characters is a rather daunting task. I often find myself mixing up similarly looking characters (like 牛 and 午 or 手 and 毛). In order to learn these properly, I need to see them next to eachother, following a mor...| Proycon's website
GPS tracker integreren in home automation Ik heb de GPS tracker die o.a. verkocht wordt als Reptrek Minitrek aangeschaft om onze hond te kunnen tracken. In plaats van de standaard beschreven SeTracker2 software (Chinese closed-source app voor Android en iOS) te gebruiken wilde ik als home-automation hobbyist deze gps tracker in mijn home automation systeem integreren en wilde ik pertinent niet dat de tracker via een server van derden (namelijk die van de SeTracker2 app) communiceert waarbij i...| Proycon's website
Labirinto Labirinto is a virtual laboratory portal, it makes a collection of software browseable and searchable for the end-user. Labirinto presents the software's metadata following the CodeMeta specification in an intuitive way and allows the user to filter and perform a limited search. The portal gives access to software if it offers web-based interfaces. This system is specifically geared towards research software, and for instance allows linking to relevant scientific publications for ea...| Proycon's website
CodeMetaPy The goal of CodeMetaPy is to generate the JSON-LD file, codemeta.json containing software metadata describing a Python package. For more general information about the CodeMeta Project for defining software metadata, see https://codemeta.github.io. In particular, new users might want to start with the User Guide, while those looking to learn more about JSON-LD and consuming existing codemeta files should see the Developer Guide.| Proycon's website
I recently switched to the gruvbox colours and polybar. Distribution: Arch Linux WM: bspwm Bar: polybar Launcher: rofi Multiplexer: tmux Editor: neovim + gruvbox theme Browser: Firefox Terminal: urxvt + gruvbox theme Music player: mpd + ncmpcpp Chat: weechat Mail: notmuch + alot Browser: firefox Spaceship: Stratios dotfiles Wallpaper ss201708_vim_python.png ss201708_vim_python.png ss201708_vim_irc2.png ss201708_vim_irc2.png ss201708_vim_cpp.png ss201708_vim_cpp.png ss201708_tmux1....| Proycon's website
The Shape of Things to Come From Battlestar Galactica, Composed by Bear McCreary. My performance is a bit sloppy here and there but I didn't want to do it over again ;)| Proycon's website
Light of the Seven Seven blessings to you! Here I play the epic piece by Ramin Djawadi for the season 6 finale of Game of Thrones. This is my version based on the score of Halcon with some personal interpretation and some errors.| Proycon's website
Star Wars Composition This is my Star Wars Composition, consisting of my interpretation of various medleys that appear throughout the eight Star Wars movies.| Proycon's website
Madredeus - O Pastor Há 8 anos gravei "O Pastor" de Madredeus no meu piano eletrônico, e fica um dos videos mais vistos do meu canal. Hoje em dia possuo um piano melhor e tento regravar a minha canção preferida de Madredeus com uma qualidade melhor. A interpretação é minha e pode ser distinto do original. O microfone é Samson C01U Pro. Partitura disso eu não tenho.| Proycon's website
Prelude to war My version of epic piece Prelude to War from Battlestar Galactica, composed by Bear McCreary. My version may differ a bit from the original, and it has some mistakes.| Proycon's website
Busy Bees - Five years of work in version control The video below shows work on various of our software packages since January 2011. It includes work by the Language Machines research group and Centre for Language and Speech Technology (both part of the Centre for Language Studies at Radboud University Nijmegen). It also includes work by the Tilburg Centre for Cognition and Communication (Tilburg University) and one project currently maintained by Utrecht University. Some 3rd party contributo...| Proycon's website
Fireplace with Raspberry Pi and Neopixels Electronic fireplace, powered by a Raspberry Pi and Neopixel LED-strip. Fully integrated into our homeautomation system. The colour representation in the video is a bit off, it's looks less red in reality. See here| Proycon's website
Bang Bang - Dalida Ecco la mia interpretazione della bella canzone "Bang bang" di Dalida (ma originalmente di Cher), e come visto nel bel film "Les amours imaginaires" Voici ma intérprétation de la belle chanson "Bang bang" de Dalida (mais originalment de Cher), comme vu aussi dans le film "Les amours imaginaires"| Proycon's website
LaMachine LaMachine is a unified software distribution for Natural Language Processing. We integrate numerous open-source NLP tools, programming libraries, web-services, and web-applications in a single Virtual Research Environment that can be installed on a wide variety of machines. The software included in LaMachine tends to be highly specialised and generally depends on a lot of other interdependent software. Installing all this software can be a daunting task, compiling it from scratch ev...| Proycon's website
FoLiA Document Server The FoLiA Document Server is a backend HTTP service to interact with documents in the FoLiA format, a rich XML-based format for linguistic annotation (http://proycon.github.io/folia). It provides an interface to efficiently edit FoLiA documents through the FoLiA Query Language (FQL). However, it is not designed as a multi-document search tool. The FoLiA Document server is used by FLAT (https://github.com/proycon/flat) The FoLiA Document Server is written in Python 3, usi...| Proycon's website
Gecco Gecco is a generic modular and distributed framework for spelling correction. Aimed to build a complete context-aware spelling correction system given your own data set. Most modules will be language-independent and trainable from a source corpus. Training is explicitly included in the framework. The framework aims to easily extendible, modules can be written in Python 3. Moreover, the framework is scalable and can be distributed over multiple servers. Given an input text, Gecco will ad...| Proycon's website
The Rains of Castamere Here I play "The rains of Castamere" from Game of Thrones. My interpretation may differ from the original and the sound quality is not that great. Disclaimer: Nobody died during the making of this video.| Proycon's website
Home Automation This repository contains my elaborate home automation configuration, using Home Assistant. Introduction Prior to Home Assistant, I ran my own custom-built home automation software. This got too time consuming to maintain and expand so in the summer of 2017 I migrated everything to Home Assistant. I have a main server and various Raspberry Pis distributed through the house (for wiring reasons). One of the challenges was getting them to communicate properly with Home Assistant. ...| Proycon's website
Home Automation I've just recently started my do-it-yourself home automation project, it's great fun! My goal is to have as much scriptable as possible, I'm mostly a software guy so want to delegate as much to my scripts as I can. Hardware-wise I want to keep things cheap and simple, so no expensive commercial solutions, but DIY work (well, I delegate some of the more practical tasks such as soldering and screwing things in place to my boyfriend) and 100% open-source. Everything is controlled...| Proycon's website
FLAT FLAT is a web-based linguistic annotation environment based around the FoLiA format (http://proycon.github.io/folia), a rich XML-based format for linguistic annotation. FLAT allows users to view annotated FoLiA documents and enrich these documents with new annotations, a wide variety of linguistic annotation types is supported through the FoLiA paradigm. It is a document-centric tool that fully preserves and visualises document structure. FLAT is written in Python using the Django framew...| Proycon's website
Mhysa Here I play the epic music "Mhysa" (mother) from the season 3 finale of Game of Thrones.| Proycon's website
Colibri Core Colibri Core is software to quickly and efficiently count and extract patterns from large corpus data, to extract various statistics on the extracted patterns, and to compute relations between the extracted patterns. The employed notion of pattern or construction encompasses the following categories: n-gram -- n consecutive words skipgram -- An abstract pattern of predetermined length with one or multiple gaps (of specific size). flexgram -- An abstract pattern with one or more g...| Proycon's website
Ao Longe do Mar Aqui eu toco a música "Ao Longe do Mar" de Madredeus, no piano e na casa dos meus pais. A qualidade do som e um pouco pior porque estão a arrumar coisas na cozinha. O meu namorado gravou este video com o novo cam dele.. Como sempre, a minha versão pode ser distinta do original.| Proycon's website
Current setup: OS: Arch Linux Compositor: Hyprland Bar: waybar Shell: zsh Terminal:foot Terminal Multiplexer: tmux Editor: neovim Browser: firefox Music player: ncmpcpp + mopidy Mail: aerc Chat: senpai (IRC client), soju (IRC bouncer), bitlbee (XMPP), gomuks (matrix), tg (telegram)| Proycon's website
O Pomar das Laranjeiras Faz tempo que gravei uma nova música! Depois de ouvir um bom concerto de Madredeus aqui na minha cidade há uns meses, decidi de tocar "O Pomar das Laranjeiras" no piano. A minha interpretação pode variar um pouco do original. Não tenho partitura, usualmente toco de ouvido.| Proycon's website
Game of Thrones - Song of Ice and Fire Here I play the theme song of Game of Thrones. My version may differ from the original. {{ peertube(id="90789235-f71a-4c82-9778-b143b1d394e0) }}| Proycon's website
Roslin and Adama This is the wonderful song Roslin & Adama, from the TV series Battlestar Galactica, composed by Bear McCreary. My version may differ from the original.| Proycon's website
Gaeta's Lament Here I play the wonderful song Gaeta's Lament, composed by Bear McCreary for the Battlestar Galactica TV series. In the series it is beautifully sung by Mr. Gaeta after his leg has been cut off. Unfortunately, I'm not a great singer so you'll have to do with an instrumental version.| Proycon's website
Battlestar Galactica Composition In tribute to the Battlestar Galactica Sci-fi series and the wonderful music in it by composer Bear McCreary, here is my Battlestar Galactica Composition, in which the true BSG fan will be able to discern part a few of the melodies heard in the series: - Intro - The shape of things to come - Allegro - Passacaglia - All along the Watchtower / Kara Remembers - The original 1978 theme song Played in part by ear and in part using Bear McCreary's fantastic piano so...| Proycon's website
FoLiA: Format for Linguistic Annotation FoLiA is an XML-based annotation format, suitable for the representation of linguistically annotated language resources. FoLiA’s intended use is as a format for storing and/or exchanging language resources, including corpora. Our aim is to introduce a single rich format that can accommodate a wide variety of linguistic annotation types through a single generalised paradigm. We do not commit to any label set, language or linguistic theory. This is alwa...| Proycon's website
In Dreams Here I play music from the movie Lord of the Rings. Original music by Howard Shore. Mostly played from sheet, with some enrichment of my own.| Proycon's website
Stormwind Here I play the song of the city of Stormwind, from the game World of Warcraft. A great majestic piece of music in my opinion, very suitable for piano! I partially used the Guri Fater arrangement (from www.gamemusicthemes.com), along with my own interpretation.| Proycon's website
Maisha This is my interpretation on piano of the wonderful song Maisha, of the Idan Raichel project. One of the many fantastic songs he made. The original is with Swahili vocals, but my version is instrumental only (I'm a very bad singer unfortunately :) ). The original version can be found here, with English and Polish subtitles: . As always, my interpretation may vary from the original, and no, I don't have any score.| Proycon's website
PyNLPl PyNLPl, pronounced as 'pineapple', is a Python library for Natural Language Processing. It contains various modules useful for common, and less common, NLP tasks. PyNLPl can be used for basic tasks such as the extraction of n-grams and frequency lists, and to build simple language model. There are also more complex data types and algorithms. Moreover, there are parsers for file formats common in NLP (e.g. FoLiA/Giza/Moses/ARPA/Timbl/CQL). There are also clients to interface with variou...| Proycon's website
Comptine d'un autre été Dans cette vidéo je joue la musique "Comptine d'un autre été: l'après-midi", par Yann Tiersen. Je suis désolé que la vidéo est assez sombre, mais le son est le plus important. Comme toujours, mon interprétation peut être différente de l'originale.| Proycon's website
Cada día En este video toco la bellísima canción "Cada día" del Idan Raichel Project, un artisto israelita. En la versión original canta Marta Gómez. No tengo ningunas partituras de esta canción, esta versión es mi interpretación personal del original.| Proycon's website
CLAM CLAM allows you to quickly and transparently transform your application into a RESTful webservice, with which both human end-users as well as automated clients can interact. CLAM takes a description of your system and wraps itself around the system, allowing end-users or automated clients to upload input files to your application, start your application with specific parameters of their choice, and download and view the output of the application once it is completed. CLAM is set up in a ...| Proycon's website
River flows in you This is River flows in you, by Yiruma, played on my new piano !!! As always, my interpretation may vary from the original| Proycon's website
Valkuil.net Valkuil.net is een automatische spellingcorrector voor het Nederlands die zowel gewone typefouten als grammaticale fouten en verwarringen tussen bestaande woorden opspoort. Op zoek naar spellingcorrectie voor het Engels? Ga dan naar dan Fowlt.net. Valkuil.net is gebaseerd op grote hoeveelheden Nederlandse tekst, en niet op taalkundige kennis of een vaste woordenlijst. De meeste modules in valkuil.net zijn contextgebaseerd en statistisch: ze slaan alarm wanneer ze een woord tegenko...| Proycon's website
Ucto Ucto tokenizes text files: it separates words from punctuation, and splits sentences. It offers several other basic preprocessing steps such as changing case that you can all use to make your text suited for further processing such as indexing, part-of-speech tagging, or machine translation. Ucto comes with tokenisation rules for several languages and can be easily extended to suit other languages. It has been incorporated for tokenizing Dutch text in Frog, our Dutch morpho-syntactic pro...| Proycon's website
In this article I share my enthusiasm for text processing on the unix command line. First I just list some of the underlying principles and common tools; then I share the various text processing tools I myself have written over the years. Some of the larger tools are accompanied by screencast videos to quickly give you an impression of what they can do.| Proycon's website