These are my notes that I make randomly. There can be code, links, documents or anything else that I feel is important. It is just to keep a record of what I have been up to and remind me of stuff that I forget quite often.
Editing PDF files in Linux
To edit a pdf file in Linux,
pdftk is a very nice utility. I recently used it
to split the pdf from some point.
pdftk thesis.pdf cat 1-9 output pretext-pages-abhilash.pdf
The above command will cut pages from 1 to 9 from
thesis.pdf and create a new
pretext-pages.abhilash.pdf. You can do more stuff from it like
generate images from pdfs or vice versa, re-arrange the pages in a pdf etc.
Sed is a command line utility using which you can find and replace text inside files without even opening them. I find it very useful in many circumstances. This is a basic usage of the command:
sed -i 's/day/night/g' file.txt
The above command would replace all the occurrence of
in file.txt with
night. The limitation of sed is that it
takes one file input and can’t recursively find-and-replace
in a directory. The command below tries to fix that:
grep -rl matchstring somedir/ | xargs sed -i 's/string1/string2/g'
Thanks to the fabulous pipe!
Mysql Collation Error
When you get an error with Mysql and Python like
(1267, "Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_c i,COERCIBLE) for operation '='")
It is because of the different Collations for client and server. AFAIK right now, collations are just charsets to be used by the database. You can change this by using this sql query below:
ALTER DATABASE mydb DEFAULT COLLATE utf8_unicode_ci;
For more details refer here.
Magit choose remote branch to push
Press “P C-u C-u P” to make Magit ask you what remote and remote branch to use before pushing.
(With a single prefix argument (“P C-u P”) Magit asks what remote to use.)
How to generate Dockerfile from Image
$ docker pull centurylink/dockerfile-from-image $ alias dimages="docker run -v /var/run/docker.sock:/var/run/docker.sock\ centurylink/dockerfile-from-image" $ dimages selenium/node-firefox-debug
Convert Bzr to Git
To convert bzr repos to git you can follow these commands. It converts a project named ‘mailman’ from bazaar to git.
$ bzr branch lp:mailman gitify $ cd gitify $ git init . $ bzr fast-export --export-marks=../marks.bzr | git fast-import --export-marks=../marks.git $ git add all-the-relevant-stuff $ git commit
Add a swap file
This is an interesting work around for when you don’t have enough memory to do some tasks. Basically some commands to add a swapfile in a VM. I use that for the digitalocean instance I have.
Add a user to a group
TO add an existing user in Linux to an existing group:
sudo usermod -a -G groupName userName
Make emacs looks pretty in terminal
I always had a problem where emacs theme wouldn’t work properly in terminal mode. I initially gave up on it as I don’t use emacs inside terminal much, but it became a problem when I started using a lot of servers and I would ssh there.
The solution would be to add this to your
Source: Stackoverflow Question