In this article I will discuss how to fix a problem with unmounting file systems in Ubuntu. Suppose you want to unmount a file system /some/endpoint for example in Ubuntu but run into an error like
umount: /some/endpoint: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)
Mount is denied because the NTFS volume is already exclusively opened.
The volume may be already mounted, or another software may use it which
could be identified for example by the help of the 'fuser' command.
An easy way to find out what exactly is using that endpoint is to run the following command:
lsof | grep /some/endpoint
Once you see what process is using the filesystem, you can then go ahead to kill or end it.
In this post I will briefly talk about a concept that’s very important to know in order to easily play songs in all 12 keys. It’s called the Number System.
Before learning the Number System, I used to find it quite challenging to transpose songs since I thought of each key as its own distinct set of notes. But by thinking of the tones of a scale as numbers, you create a common language to describe what you need to play regardless of scale. This made it significantly easier for me to play in all 12 keys. Here’s a quick example. Suppose you want to play the melody of the first line of Mary has a Little Lamb in the key of C, one can describe this as
E D C D E E E
In the key of G, it will be:
B A G A B B B
Now, instead of thinking of the tones distinctly when trying to play the song, we can use the Number System to abstract this to
3 2 1 2 3 3 3
To make this system effective, one will need to know for each key what tone corresponds to what number. E.g. C is the first tone of C, D is the second tone of C, etc. Once you master the Number System, you can apply it to chord progressions to quickly understand common patterns in music, e.g. the 2-5-1 or 7-3-6 chord progressions.
Recently I was watching a tutorial on how to transition from first to second tone chords (or 1-2 couples). The instructor said one could go from the 1 chord to a ♭2 diminished chord and then the 2 chord. This got me thinking. If diminished chords could be used in transitioning from the 1 chord to a 2 chord, is there anything else it could be used for? Curious, I decided to do a bit of research on the subject and ran into an excellent Youtube video that threw more light on it. Here I will discuss briefly what I have learnt about diminished chords: how they are formed and when to use them.
Diminished chord is one of four basic chords, the others being Major, Minor and Augmented. To form a diminished C chord for example, you start with the C note, then place the next finger on the note one minor third away, i.e. E♭, and the last finger on the note one minor third further, i.e. G♭. So, C E♭ G♭ are the notes in the C dim chord. If you want to extend it, then you can go a further minor third away to A and you have C dim7. So, generally, tones of diminished chords are minor third intervals apart.
Something interesting to note about diminished chords is that the diminished 7 chord of each tone in a given diminished 7 chord shares the same notes as all the other tones in the chord. For example. Consider Cdim7 comprising C E♭ G♭ A. Considering the second inversion of the chord E♭ G♭ A C, we have E♭dim7 chord. Taking the third inversion G♭ A C E♭, we have G♭dim7 and the fourth inversion A C E♭ G♭ is simply the same as Adim7. A consequence of this is that for all twelve tones of a scale, there only three types of dim7 chords to learn in terms of tone composition .
Now to the fun part. How can we use diminished chords to spice up our music? One way is by playing a diminished chord one semitone before the key of the chord you want to play, then playing the desired chord. E.g. if you want to play a Cmajor chord, you can preceed it with a B♭dim7 chord. This works for both major and minor chords.
Another way to use it is to first play a diminished 7 chord of the same chord tone you want to play, then play the desired chord tone. E.g. if you want the Cmajor chord, you can precede it with a Cdim7 chord.
A third way to use it is to first play a diminished 7 chord one semitone after the your desired tone, then play the desired chord. E.g. if you want to play an Aminor chord, you can precede it with a B♭dim7 chord. This method is good especially for minor chords.
Here is an excellent Youtube tutorial that explains all these in great detail.
By making use of diminished chords, one can fill some of the empty space between chord progressions and also introduce a more interesting sound to one’s playing. That’s all for now.
Today I came across a cool keyword in a Sass file. It’s called ‘!default’. There was a variable declaration and then !default after it e.g.
$foo: 20px !default;
So, I decided to fine out what exactly it means. !default means the variable will be set if it has not already been set. This way, you can declare project specific values of a variable first and then add the defaults after it.
A Sass `!default` use case. https://robots.thoughtbot.com/sass-default
Yesterday before going out for our usual shopping my younger brother told me he needed to use WhatsApp as soon as possible. His phone was damaged and there wasn’t any time to visit a repair shop. So, what did I do?
Having a strong conviction that there had to be a way to use WhatsApp without having a phone on hand, I hit the internet in search of a way. I ran into a Quora article discussing a few ways of doing just that (Quora was finally really useful! Kidding – Quora is an awesome site). So, I discovered two applications that could accomplish this – one Andy Emulator and another BlueStacks.
So, I tried out Andy Emulator on my Lenovo PC. One large download later and several minutes of supposed-installation, nothing happened. Perhaps there was a bug with the software on my PC, I don’t know. Either way, being in a hurry, I quickly switched gears and tried BlueStacks. Download was quick and the app started without problems. A short while later, my younger brother was able to happily install WhatsApp into BlueStacks, then we put his SIM card into my phone and used that to verify his phone number on WhatsApp’s request, and voila! He was able to use WhatsApp from the PC without a phone! Happy with his triumph, he went on to install some other of his favourite Android apps successfully.
By and large, it’s really amazing to see how virtual machines like BlueStacks, VirtuBox, etc. have greatly increased the range of operating systems, and consequently applications, available to users from a single piece of hardware. For the most part, gone are the days when, just because an application was written for one operating system, a user needs to have just one type of hardware to use that application. I guess the next big leap would be to be able to use software without conventional hardware, e.g. embedding software chips directly into the brain. There’re probably people working on this already. Looking at the proliferation of Internet of Things (IoT), everything is becoming “smart” these days, it’s only a matter of time when we become “smart” people as well. Fun times ahead.