• How to preserve exif metadata in images in Linux

    1.0 Exif metadata not preserved by image editing program

    Problem: After an image is developed and edited by image editing software and saved in a format like JPEG, it does not have the Exif metadata.

    2.0 Solution

    Surprisingly, quite a few image editing programs do not preserve the Exif metadata of images and attempts ...

  • How to add the IPTC metadata in photographs using exiv2 in Linux

    1.0 Adding the IPTC metadata

    After a photograph has been taken and processed, it might be necessary to add IPTC metadata before it can be published. If your image editing software does not support adding of IPTC metadata to the image, you can accomplish this is by using the exiv2 command ...

  • How to get the value of Pi in bc calculations

    1.0 π

    While using bc for calculations, the value of π is sometimes required. Sure, you might remember it as 3.1416, but it is better to use a higher precision value. And it's quite simple to do that.

    First, we need to start bc with the option

  • Error while executing the dig command

    1.0 Error

    While executing the dig command, the sendmsg() failed: Operation not permitted error was printed.

    $ dig
    ../../../../lib/isc/unix/net.c:581: sendmsg() failed: Operation not permitted
    ../../../../lib/isc/unix/net.c:581: sendmsg() failed: Operation not permitted

    2.0 Solution

    The error was resolved after adding the following iptables rules.

    iptables -I OUTPUT 1 -p udp -s ...
  • Analyzing the NGINX web server log file

    1.0 Introduction

    Given an nginx web server log file, we might like to know who are the visitors to our website. One can go line by line through the log file, but that is tedious. It would be nice if we can get one line per client visiting the website, giving the IP ...

  • Android adb install failure INSTALL_PARSE_FAILED_NO_CERTIFICATES

    1.0 Error

    A signed APK of an Android app was built using the Android Studio. When we tried to download the signed APK to a device using the adb command, the command failed with the error, INSTALL_PARSE_FAILED_NO_CERTIFICATES.

    $ adb install app-release.apk 
    app-release.apk: ...
  • nginx drupal sitemap 404 not found

    1.0 Error

    While trying to open sitemap.xml of a site served by nginx and built using Drupal CMS, the 404 Not Found error was received. The nginx log file, error.log gave the error as, 80 open() sitemap.xml failed (2: No such file or directory).

    2.0 ...

  • optipng: Error: Can’t back up the existing output file

    1.0 Error

    While running optipng on a png file, the following error was obtained,

    Error: Can't back up the existing output file

    2.0 Solution

    The file was not having the write permission. Once, the write mode bit for the file was set, optipng worked fine.

    $ ls -ls ...
  • Getting a project from GitHub

    1.0 Scenario

    While searching on a topic, you land up on a GitHub page with code. The code looks interesting. But you can not work on it on GitHub. You need to get it on your computer to work on it. How to get it on your computer?

    2.0 Solution: Get the repository

    The code displayed on the ...

  • Failed to send 300 byte long packet over fallback interface

    1.0 Error

    While configuring a server, the following errors were noted in the logfiles.

    send_packet: Operation not permitted
    dhclient.c:2386: Failed to send 300 byte long packet over fallback interface.
    DHCPREQUEST on eth0  port 67 (xid=0x1580bfd0)

    2.0 Solution

    There are two possibilities depending upon whether DHCP is being used for getting the network IP address or not.

    2.1 ...

  • Dovecot: imap Error: open (/var/mail/username) failed


    While configuring mail on a Ubuntu Linux server running the Postfix mail server and Dovecot IMAP server, the following errors were observed in the mail log files,

    dovecot: imap(user1): Error: open(/var/mail/user1) failed: Permission denied (euid=1002(user1) egid=1002(user1) missing +w perm: /var/mail, we're not in ...
  • Not able to access files on Android device in Nautilus from Linux desktop

    1.0 Error

    After connecting an Android based phone with a Linux desktop using the USB cable, the files on the device are not shown by the Nautilus file manager. After clicking the tab for the device, an empty screen is displayed.

    Empty screen displayed after opening the device tab in ...</div></li><li><a href=Recaptcha: Error for site owner

    1.0 Error


    The login form for a Drupal based site had the username, password and recaptcha fields. However, instead of showing the image and input box, recaptcha displayed ERROR for site owner, Invalid domain for site key. Thus, it became impossible to login to the site. This effectively locked access to the administration ...

  • Android: AdbCommandRejectedException getting properties for device


    From Android Studio, the connection to the device for debugging was not getting established. The ADB logs gave the repeated error,

    PropertyFetcher: AdbCommandRejectedException getting properties for device ????????????: insufficient permissions for device


    1. As described in the documentation, Using Hardware Devices, a file /etc/udev/rules.d/51-android.rules was created.
    2. Using the
    3. Error while loading shared libraries:


      While building an Android app project under Studio, the build process terminated with the error,

      /home/user1/Android/Sdk/build-tools/22.0.1/zipalign: error while loading shared libraries: cannot open shared object file: No such file or directory
      Error:Execution failed for task ':app:zipalignDebug'.
      > Process 'command '/home/user1/Android/Sdk/build-tools/22.0.1/zipalign'' finished with non-zero exit value 127


      The problem was resolved by installing the