I’m using MasterPassword (Spectre now) which is an open-source password generator. No passwords are saved anywhere, you just remember one master password and you can (re)-generate your other passwords on the fly. Although it should be safe on the website (https://js.masterpassword.app/), I try to use it locally when I can. Either with the (unofficial) Android App or using the CLI on my computer which I built and run with Docker (see instructions in my fork).
DuckDuckGo is a “search engine that doesn’t track you”. It provides nice “bangs” to search directly specific websites. By making DDG the default search engine these bangs can be used directly in the address bar.
!pub PubMed.!scholar Google Scholar.!bioc Bioconductor.!so Stack Overflow.!git GitHub.!w Wikipedia.!syn synonyms from thesaurus.com.!tz Time Zone, time in other places.!dgi DuckDuckGo Images.!i Google Images.!imd IMDb.!marmiton Marmiton.!map Google Maps.!wref/wrfe Word Reference English to French (et vice versa).!gtfr Google Translate to French.!gten Google Translate to English.The search syntax is explained here. In particular:
dogs site:example.com Pages about dogs from example.comcats filetype:pdf PDFs about cats.I’m using Ubuntu 22.04 with GNOME Shell.
To install GNOME shell:
sudo apt-get install gnome-shell
sudo apt-get install gnome-tweaks gnome-shell-extensions
Then, when logging in, there should be an option to select GNOME.
Finally, install extensions from extensions.gnome.org. For example, Simple System Monitor, Sound Input & Output Device Chooser, Bluetooth Quick Connect, Panel World Clock. Lock Keys.
Sometimes apt-get update doesn’t work because keys have expired (e.g. The following signatures were invalid: EXPKEYSIG XXX).
To update a key:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys XXX
I use the international layout with dead keys:
Settings -> Region & Language -> Input Sources -> + -> English (United States) -> English (intl., with AltGr dead keys)
An accented letter can be “spelled out” with, for example, AltGr+Super+' e.
Some accented letters can be inserted directly with AltGr, e.g. AltGr+e.
Inspired by this post, I modified the default accented letters to use grave/circumflex accents and cedilla.
In /usr/share/X11/xkb/symbols/us I added to the xkb_symbols “altgr-intl” section:
key <AD04> { [ r, R, egrave, Egrave ] };
key <AD05> { [ t, T, ecircumflex, Ecircumflex ] };
key <AD02> { [ w, W, ediaeresis, Ediaeresis ] };
key <AD06> { [ y, Y, ucircumflex, Ucircumflex ] };
key <AD07> { [ u, U, ugrave, Ugrave ] };
key <AD08> { [ i, I, icircumflex, Icircumflex ] };
key <AD09> { [ o, O, ocircumflex, Ocircumflex ] };
key <AC01> { [ a, A, agrave, Agrave ] };
key <AC02> { [ s, S, acircumflex, Acircumflex ] };
key <AB03> { [ c, C, ccedilla, Ccedilla ] };
CTRL-. binding in Ubuntu 22.04It calls a way to add emojis.
I’ve changed it to use SUPER instead, as it was messing with my emacs keybindings.
The configuration windows can be accessed by running ibus-setup.
Sometimes, snap needs to be updated but can’t because it’s running. I get messages like Pending update of “snap-store” snap, but then get cannot refresh “snap-store”: snap “snap-store” has running apps when trying to update it in the GUI.
To update it in the terminal:
snap-store --quit
sudo snap refresh snap-store
R updated automatically once and I didn’t want to re-install all the packages, so I temporarily switched back to the previous version with:
sudo apt install r-base-core=4.0.5-1.2004.0
sudo apt install r-recommended=4.0.5-1.2004.0
sudo apt install r-base=4.0.5-1.2004.0
The available versions were listed using sudo apt list -a r-base-core
I use Nextcloud which offers a free tier with 2 Gb (for most providers). It also has an Ubuntu software and Android app that can sync a specific folder. I use it to synchronize the articles I read and annotate between my tablet and computer(s) (see the “Zotero” section below).
chmod +x and place in your PATH.Syncthing can be easily setup to synchronize specific folders. It needs to be running on all the devices but it’s fast and avoids using a cloud hosting service.
On Ubuntu, I run it using Docker with:
docker run --network=host -v `pwd`:/var/syncthing --hostname=my-syncthing syncthing/syncthing:latest
The GUI can then be openened in the browser, by default at http://127.0.0.1:8384/.
The Syncthing Androids app is available on F-Droid and Google Play.
This might not work anymore. Last time I tried to use it, I was confused by an error and ended up switching to Nextcloud (see above).
I use grive and followed these instructions.
To install:
sudo apt-add-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install grive
To configure in a directory DIR, syncing the Drive folder “ArticlesPDF”:
cd DIR
grive -a -s ArticlesPDF
In the future just sync by running the following command (in the DIR folder):
grive -s ArticlesPDF
I usually try with the --dry-run option first because there are some glitches sometimes.
Since very recently (~Nov 2019) another step is necessary:
grive -s zotero-library --id "<ID.apps.googleusercontent.com>" --secret "<SECRET>" (eventually add -a to configure).Mostly following this blog post.
In the general settings of Zotero I also specify the Google Drive/Syncthing folder as base directory. When I setup syncing with my account, I swich off the Sync full-text content and all the File Syncing options because I’ll be using my own storage/syncing option.
In previous versions of Zotero, I used Zotfile but it currently doesn’t work with Zotero 7.
Instead, I now use ZotMoov to move attached files to a custom directory (with custom subfolders too using {%a} as the Subdirectory String).
And file renaming can be done with Zotero 7 now.
I use {{ firstCreator suffix="_" case="snake" }}{{ year suffix="_" }}{{ title truncate="100" case="snake" }} to specify the file name (i.e lowercase with words separated by _).
For the Better BibTeX plugin, the most important setting is the citation key style: [auth:lower][year][journal:lower:abbr], or auth.lower + year + journal.lower.abbr.
I still haven’t found a perfect way to synchronize my library with my Android tablet. Currently, I store the PDFs on Nextcloud (2 Gb free tier, see above), and then:
Before switching to Zotero, I used Mendeley. I was still syncing my annotated PDFs between my tablet and computer. I had described this approach in this post.
By replacing https://www.dropbox.com with https://dl.dropboxusercontent.com in the link, a file can be dowloaded using command lines tools (e.g. wget or download.file in R).
It’s useful to host files that are used in scripts, like some of the post I made using R-Markdown.
Originally it was useful to “serve” HTML pages but it doesn’t work anymore.
vlc -vvv http://hazel.torontocast.com:2220/stream --sout=file/ogg:classical.ogg