ix5 tech

Technology section • ix5.org

Changed Zoho IMAP Access for Custom Domain

March 24, 2023

Zoho, a suite of business applications allowing, among others, having an email account using your own domain name, silently changed their access procedure, leading to Login failed messages in e.g. Thunderbird. The gist of it is that you need to use imappro.zoho.eu for your IMAP server and smtppro.zoho.eu for outgoing SMTP server to continue using your own domain name. The updated guide is at the Help pages for Zoho mail.

GNOME: Clear lock timer

February 21, 2023

Run faillock --user <username> --reset. Sources: reddit, reddit

Zotero: Eliminate imported duplicates

February 14, 2023

After exporting a “collection” in Zotero to send to an acquaintance, I imported the exported file to check that the archive file was valid, choosing to “link” the imported files rather than importing them (i.e., storing them inside the Zotero data folder). The import had gone smoothly and I deleted the collection again, but foolishly did not chose to delete the collection contents. This left me with a large number of duplicate items scattered around, as “orphan” items with no parents.

spaCy Terms Cheat Sheet

December 22, 2022

I am currently learning to deal with Natural Language Processing (NLP) using spaCy. These are the terms that I often end up having to look up. I wrote a small bash helper function for myself: # spaCy explain term function explain() { _query=$1 # activate virtualenv here, if necessary python -c "from spacy import explain; print(explain('"$_query"'))" } Glossary Extracted from spaCy: glossary.py and polished up a bit. spaCy license: MIT.

Launching scripts from GNOME shortcuts

September 24, 2022

As of at least 2022-09-24, launching small scripts that spawn a rofi interface via the GNOME shell shortcuts interface would fail for me with the following message: app-gnome-\x7e\x2fcontrol.sh-3565.scope: No PIDs left to attach to the scope's control group, refusing. app-gnome-\x7e\x2fcontrol.sh-3565.scope: Failed with result 'resources'. Failed to start Application launched by gsd-media-keys. My control script would be executable and located at ~/control.sh and launch something like rofi -dmenu -i <choices>. I had the association (e.

Anki Webview Issues

April 15, 2022

As of 2022-04-15, Anki will open on my up-to-date Arch Linux install, but show a blank page instead of my decks. $ pacman -Q anki qt5-base qt6-base anki-official-binary-bundle 2.1.49-1 qt5-base 5.15.3+kde+r137-1 qt6-base 6.3.0-1 I suspected an issue with the webview implementation, since menus, preferences and the like still work. A topic on the [Ankiweb Forums][forums] surfaces the suggestion to disable the Qt webengine seccomp filter: QTWEBENGINE_CHROMIUM_FLAGS="--disable-seccomp-filter-sandbox" Add the environment variable to your .

Netgear R6120 OpenWRT

February 16, 2021

Links Netgear R6120 OpenWRT page Firmware download nmrpflash Get nmrpflash $ git clone https://github.com/jclehner/nmrpflash.git $ cd nmrpflash/ $ make Check interfaces ./nmrpflash -L enp0s31f6 8c:16:45:22:f5:71 wlp2s0 74:e5:f9:e7:79:26 For me, enp0s31f6 showed as IP: enp0s31f6 8c:16:45:22:f5:71 Flash Plug LAN cable from computer into LAN port 1 of the router. NOT into the WAN port. Turn off router. $ sudo ./nmrpflash -i enp0s31f6 -f ~/downloads/netgear-openwrt/factory/openwrt-ramips-mt76x8-netgear_r6120-squashfs-factory.img Waiting for physical connection.


February 7, 2021

For reasons that (I swear!) have nothing to do with my nationality, I have always avoided acquiring any modicum of French language skills. I took Latin in high school and while at university, Spanish sounded like the clearly superior investment, especially for my social life. Hearing people speak French, I was having trouble holding it together, because, obviously this was a fake language designed to make you emit as many silly noncoherent noises as possible.

Customizing Isso for my needs

January 19, 2021

Some functionality that is not (yet) available with upstream Isso. All features mentioned in this post are available on this frozen branch. I run a local development server using the following command: ISSO_SETTINGS=share/isso-dev.conf \ venv-isso/bin/gunicorn \ -b \ -w 1 \ --preload isso.run \ --worker-tmp-dir /dev/shm Thanks button - A small button with a counter to simply say “Thanks” instead of posting a comment. Has been suggested upstream but so far no one attempted the work.

Skype for Linux - Disable autostart

January 8, 2021

TL;DR Insert "app.autoStartEnabled":false into ~/.config/skypeforlinux/settings.json. See also my answer at askubuntu.com. Intro The native Skype app for Linux - I guess I should be thankful there even is one - auto-starts itself on boot1, and there is no way to turn off that behaviour as a guest because the Settings pane can only be accessed by logged-in users. Auto-start works on Linux desktops works by inserting a .desktop file in a config folder, so Skype’s is at ~/.

flask-admin: Access row object in LinkRowAction

January 4, 2021

I have an admin interface with tags that can be associated with any number of entries. As a demonstration, flaskadmintagdemo should give you an idea of what my side looks like. I wanted to have a link next to each tag pointing to a filtered list of all entries tagged with that specific tag. The logic for that is in flask-admin > model > template.py class LinkRowAction(BaseListRowAction): def render(self, context, row_id, row): m = self.

Adding DuckDuckGo properly to Firefox

January 3, 2021

Needed to re-add DuckDuckGo search to Firefox manually. Install Add-on Install Add custom search engine addon from addons.mozilla.org. Get search parameters Navigate to DuckDuckGo.com, enter the Settings page, click “Show Bookmarklet and Settings Data”, copy the “Bookmarklet URL”. For me, it looks like: duckduckgo.com/?kah=de… Enter info in addon Open the interface to add a new search engine by locating the blue looking glass icon in the menu bar (Not in Firefox Settings!

Git tricks

February 27, 2019

Tips From twitter.com/zeuxcg git rebase —autostash stashes and unstashes local changes for you git commit -v adds diffs to commit draft so that you can inspect them as you write commit msg git rebase -i Also, you should configure autostash to be on by default, and configure rebase to be default on pull. Pull without -r will screw you every time! You probably know already but commit messages allow to autosquash commits.


February 26, 2019

getopt my-function() { # This is important for getopt or it will fail on the second invocation! local OPTIND while getopts 'u:b:s:' _flag do echo "_flag=$_flag" case "${_flag}" in u) GIT_URL="$OPTARG" ;; b) GIT_BRANCH="-b $OPTARG" ;; s) SPEC+="$OPTARG " ;; *) echo "my-function(): Unexpected option $_flag"; exit 1; ;; esac done }

Ubuntu install

May 29, 2018

Disclaimer: This is for personal reference, read up on the official documentation before you brick something you did not want bricked… Create disk sudo dd if=distro.iso of=/dev/sdX status_progress bs=1M Boot live cd Set keymap, then prepare disks (If in virtualbox, make sure to activate EFI mode) Partition drive Use lsblk or blkid, fdisk -l to get an overview of the current situation, then create GPT table and partitions with: sgdisk --zap-all /dev/sdX sgdisk --clear \ --new=1:0:+550MiB --typecode=1:ef00 --change-name=1:EFI \ --new=2:0:0 --typecode=2:8300 --change-name=2:system \ /dev/sdX Or use cgdisk which is nice and interactive.

Arch install

April 29, 2018

Create disk sudo dd if=distro.iso of=/dev/sdX status_progress bs=1M Boot arch Better connect ethernet, else use wifi-menu loadkeys de-latin1 Partition drive Use lsblk or blkid, fdisk -l to get an overview of the current situation sgdisk --zap-all /dev/sdX sgdisk --clear \ --new=1:0:+550MiB --typecode=1:ef00 --change-name=1:EFI \ --new=2:0:0 --typecode=2:8300 --change-name=2:system \ /dev/sdX Or use cgdisk which is nice and interactive mkfs.fat -F32 -n EFI /dev/disK/by-partlabel/EFI Cryptsetup cryptsetup luksFormat /dev/sda2 --key-size 512 --iter-time 2000 [--align-payload=8192 -h sha512 -c aus-xts-plain64] cryptsetup luksOpen /dev/sda2 cryptroot mkfs.


February 9, 2017

Remove clutter from database Install lxml (apt-get install python-lxml) Download removehidden.py and removeignored.py. Copy rhythmdb.xml over from ~/.local/share/rhythmbox into working directory Run either script to remove hidden or ignored entries respectively Copy rhythmdb_new.xml back to the rhythmbox directory Plugins MediaServer2 D-Bus interface (included by default in 3.x) MPRIS D-Bus interface (included by default in 3.x) Rating filters Open containing folder

Brother DCP-L2520DW

August 1, 2016

Download files from the brother printer support page. Use either the install tool(will complain about missing ia32-libs but works fine) or install the packages manually. Assign a static ip address to the device and add the printer with CUPS. The device should appear with proper name and abilities. Do not install the generic packages(named ‘Generic LPR printer driver, Generic CUPSwrapper printer driver’). (for Arch Linux: Install brscan4 from AUR) For scanning functionality, use brsaneconfig4.


July 18, 2016

Remove deleted files from internal database Install libdbi-perl and libdbd-sqlite3-perl Make a backup of ~/.config/banshee-1/banshee.db Download reap-dead-tracks.pl from this server or GitHub Run perl reap-dead-tracks.pl <db>, confirm deletion Reload internal database sqlite3 ~/.config/banshee-1/banshee.db "update coretracks \ set LastSyncedStamp = 0 where PrimarySourceID=1" UI Use right mouse button to resize time slider Sync Make an .is_audio_player file in root of external device, describe capabilites Do not start banshee wile an mtp device is connected (Just starting up banshee in the background will cause the connection to fail and mess up everything)

Mixxx reference

February 11, 2016

AutoDJ Activate with Shift-F12, a little android icon will appear in top left corner and control over crossfader will be automated Skip track with Shift-F11 Set fade time to negative value for breaks in between songs, don’t forget to turn it off. Setting a negative value will make mixxx not respect cue points! Use crates to refill cue if necessary Seeking to cue point on load can be turned off in preferences Musicality The BPM detection is insufficicient Knobs Any effect will increase audio latence, this includes key lock Don’t forget to turn off filters after the song has ended Mind the crossfader Use the gain slider cautiously, and turn it off immediately afterwards For effects: select appropriate channel Recording CTRL-R to start-stop recording, little icon will appear in top left corner Organizing Use playlists for tracks in a specific order Tandas are designated T:Genre:Artist(tempo):Singer/mood/etc.