Skip to main content

Senior WordPress platform developer. Open web / Music. DJ (under @CloudseerDJ). Tall Dutch guy.

twitter.com/svandragt

github.com/svandragt

mixcloud.com/cloudseer

Countdown - a bash countdown timer

1 min read

I was looking for a tea timer countdown but quickly realised I might as well use a countdown script for this. I based my script on the linked script but added a customizable notification at the end

$ nano ~/bin/countdown
#!/bin/bash
# v2 - 2019-05-01
secs=$1
msg=${2:-$1 seconds passed.}
while [ $secs -gt 0 ]; do
echo -ne "$secs\033[0K\r"
sleep 1
: $((secs--))
done
notify-send 'Countdown Finished' "$msg"

$ chmod +x ~/bin/countdown
$ countdown 180 "Tea is ready."

Spotify how to hide the "Find friends" bar

1 min read

On Linux operating systems, Spotify does not always show the file and view menus. This makes it harder to hide the "Find Friends" bar as there is no close button on the sidebar itself.

However there's another way: Click on the chevron in the top right corner next to your spotify username, then on Settings > Display Options > untick Show Friend Activity.

Install Python 3.7.1 on OpenSUSE Tumbleweed

1 min read

After another hour of resolving issues with pyenv and a personal project that requires Python 3.7 I thought it best to note the steps I used to install Python 3.7.1 on OpenSUSE Tumbleweed:

# Install requirements for compiling Python
sudo zypper in zlib-devel bzip2 libbz2-devel libffi-devel libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel 

# Compile Python
cd ~/Downloads
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz
tar xf Python-3.7.1.tar.xz
cd Python-3.7.1
./configure
make

# AltInstall ensures 3.7.1 is installed alongside your system python
sudo make altinstall

# Fix dynamic library loading
sudo ln -s /usr/local/lib64/python3.7/lib-dynload /usr/local/lib/python3.7/lib-dynload

I've updated the Common build problems · pyenv/pyenv Wiki page to reflect the updated required packages. Thanks to Andrew Cooke for the dynamic library fix

Howto install Cryptomator for OpenSuse

1 min read

Linux is so userfriendly, so the rpm that can be downloaded is missing dependencies. However, I'm quickly becoming a fan of zypper and OpenSUSE's dependency handling, and comes to the rescue:

sudo zypper in cryptomator.rpm

Even though cryptomator made a mistake in signing part of the application, it can still be installed by pressing ignore. Are you sure you want to do that? It seems a bit crap for such an essential utility.

Installing Dropbox on OpenSUSE Tumbleweed

1 min read

Both the official RPM and the discover package failed for me due to missing dependencies, without specifying what those are. However the following worked:

sudo zypper install dropbox-cli
dropbox start -i
dropbox autostart

So you want to become a neckbeard?

2 min read

Having wasted too much time installing Ubuntu on a laptop recently, I thought it would be helpful for the future self to document the issues.

Issues

I'm seeing one or more of the following issues with Ubuntu 18.04 LTS:
  • Missing text on the login screen
  • second monitor switching off
  • Hangs
  • Won't boot  directly into the OS
Install Ubuntu 16.04 LTS which is not a piece of garbage.
Migrate SSH keys from Putty to OpenSSH https://askubuntu.com/questions/818929/login-ssh-with-ppk-file-on-ubuntu-terminal/818932
What are the correct permissions for the .ssh folder? Typically you want the .ssh directory permissions to be 700 (drwx------) and the public key (.pub file) to be 644 (-rw-r--r--). Your private key (id_rsa) should be 600 (-rw-------). Lastly, your home directory should not be writeable by the group or others (at most 755 (drwxr-xr-x)).
How do I connect to our team networkshare automatically on startup?
sudo su
apt install cifs-utils
echo "//path/to/windows-share /mnt/team cifs credentials=/etc/samba/credentials,uid=1000 0 0" >> /etc/stab
cat > /etc/samba/credentials <<EOC
username=UserName
password=PassWord
EOC
chown root.root /etc/samba/credentials && chmod 400 /etc/samba/credentials
Change the username and password appropriately verify your userid is 1000 with id -u UserName
I skipped  creating a passphase for my encrypted home directory, how do I do it now?  run "ecryptfs-unwrap-passphrase" in the terminal
How to stop the mouse sticking to the edges of the display https://askubuntu.com/questions/119281/what-is-the-function-of-the-sticky-edges-on-off-setting-in-di...
Can't install vagrant plugins Download vagrant from vagrantup.com
nfsd is not installed sudo apt-get install nfs-kernel-server
vagrant booting vms reports a timetout delete (rm) the IdentityFile mentioned in vagrant ssh-config

This document will get updated as I stumble and fix other issues.

App Alternatives

Clipboard manager https://hluk.github.io/CopyQ/
Remote connection manager https://snapcraft.io/pac-vs
Google Drive https://www.howtogeek.com/196635/an-official-google-drive-for-linux-is-here-sort-of-maybe-this-is-al...
Phrase Expansion https://leehblue.com/ubuntu-text-expander/ https://github.com/leehblue/texpander
Screen Recorder Kazam (https://askubuntu.com/a/29954), installs well with apt. Alternatively Simple Screen Recorder.

Fix slow DNS responses on Ubuntu

1 min read

I've been finding that browsing has been slow for me lately on my linux box, which has Ubuntu 16.04 installed. After some investigation it seemed worthwhile to try to install a DNS cache to speed up DNS queries. This has sped up successive DNS queries from 21ms to 0ms, removing sluggishness.

sudo apt install bind9
cd /etc/resolvconf/resolv.conf.d
sudo echo "nameserver 127.0.0.1" >> head

Apply the configuration as follows:

sudo resolvconf -u

The improvement can be seen by using dig to query a domain and looking at the Query time output. After the first dig, subsequent digs return in 0 ms.

How to install pip and pipenv properly on Ubuntu 17.10

1 min read

Ubuntu 17.10 comes with python3 3.6.3 installed by default but not pip and pipenv. We can install install pip systemwide and pipenv into the user local bin so we can use all the convenience when working with our python projects:

wget https://bootstrap.pypa.io/get-pip.py -O /tmp/get-pip.py
sudo python3 /tmp/get-pip.py
pip3 install --user pipenv
echo "PATH=$HOME/.local/bin:$PATH" >> ~/.profile
source ~/.profile

Sources: Installing Python 3 on Linux; pip installation; Installing pipenv; How to permanently set PATH on Linux

Update 9 Nov 2017: replaced curl with wget, thanks Peter

Fixing Samba network-share change notifications

1 min read

Today a problem came up where the files on my Samba fileshare did not indicate to my Windows system that they were changed. Software that relies on this information such as TortoiseHG and SimpleLESS would not know that the file had changed. This was especially obvious with SimpleLESS which should take the .less file and process it, but wouldn’t.

It turns out that the cause of this is that on the linux system the system time was off by a large margin. Using Arbab Nazar’s article on setting up time synchronization fixed the issue and prevents it from reoccurring.

Setting up a VM based development system - Part 1

3 min read

I recently set up a local development server running Ubuntu on VMware player. I thought it would be interesting to document the process and instructions so that it will be useful to others, and you can follow along / correct / improve this guide. On completion of this series you will end up with a complete LAMP local development system..

Installing Ubuntu

You will need:

Install VMware player (VMP). Restart the pc if necessary.

I’m installing the virtual machine on my USB harddisk, this way I can take my whole development with me on the go (home/work) - this is great because you only have to set all this up once, instead of on every machine you plan to use it on.

Start VMP and “Create a New Virtual Machine” and browse to the downloaded .iso. As part of the Easy Install Information write down the login:

username: __________ password: __________ 

Store the VM on your removable drive.

On the Specify Disk Capacity screen you will want to go higher than the recommended disk size, I chose double (40GB). Make sure you have enough free space available, check this before continueing. I went for double the recommended amount as I want to avoid to repartition later. Accept the other defaults and Ubuntu will start. Keep waiting as Easy Install is installing Ubuntu on your behalf.

If you are a chmod 777 user (jackpot settings), this is a great time to read up on file system permissions by reading the article series starting with “Linux File Permission Concepts” (click next in the summary, there are 5 articles in total): http://articles.slicehost.com/2010/7/17/linux-file-permission-concepts

After a restart the login screen appear and after a successful login you will see the desktop. Because we are going to install a bunch of software let’s make sure everything we already have is up to date. Start the update manager > Settings > Ubuntu Software > Other > Select Best Server. This will speed up downloads. Check again and install updates.

Time to read some more, btw have you created a new tag for all these bookmarks yet? When you are finished reading the above articles, here are some really good resources to read later:

You should now have a running Ubuntu system.

(Source: donationcoder.com)