Sunday, December 25, 2016

imagemagick - add date on image


  • Install
  • sudo apt install imagemagick

  • example for batch mark date on images
  • for img in *.jpg;
    do convert "$img" -gravity SouthEast -pointsize 64 -fill white -annotate +30+30 %[exif:DateTimeOriginal] "time_""$img";
    done

    Sunday, December 18, 2016

    Atom - source editor

    Atom - excellent source editor under Linux, the most import thing is it's "FREE"
  • Install
  • sudo add-apt-repository ppa:webupd8team/atom sudo apt-get update sudo apt-get install atom

  • Ignored names (useful for search)
  • .git, .hg, .svn, .DS_Store, ._*, Thumbs.db, *.txt, *.tags, tags, *.stack, _out, *.htm, *.lst, .tags1


  • Best Packages for developers
  • Atom-ctags
    Atom Beautify
    File-icons
    Highlight-line
    Highlight-selected
    Project-Manager
    Symbol-tree-view
    Terminal-plus
    Vertical-tabs
    Merge-conflicts
    Todo-show
    git-blame

    SSD Optimization under Ubuntu

  • Reduce flush frequency
  • Add "noatime" on /etc/fstab UUID=f0ae2c59-83d2-42e7-81c4-2e870b6b255d / ext4 noatime,errors=remount-ro 0 1
  • Reserve some space for Over-provision
  • leave at least 7% capacity size for unformatted. (14 % is better)
  • Enable TRIM suuport
  • By default, Ubunut 16.04 will support trim operation automatically, but you could perform it manually
  • Reference
  • https://sites.google.com/site/easylinuxtipsproject/ssd

    PS. Trust me, I have over 6 years experience on SSD firmware development.

    Static code analysis - pylint

    popular static code analysis for python language
  • Install (via pip)
  • pip install pylint
  • Run pylint
  • pylint [SOURCE]
    Don't like command line tool? try pylint-gui pylint-gui

    Python package installer

    For all python developer, you will need it
  • for python 2.x
  • sudo apt install python-pip
  • for python 3.x
  • sudo apt install python3-pip

    Static code analysis - flawfinder

    Unlike cpecheck, flawfinder will looking for the security vulnerability of your source code
  • Install
  • sudo apt install flawfinder
  • Run flawfinder
  • flawfinder --html --quiet --dataonly . >> output.html
  • Reference
  • https://security.web.cern.ch/security/recommendations/en/codetools/flawfinder.shtml

    Static code analysis - cppcheck

    Great static code analysis tool for C/C++ programming language
  • Install
  • sudo apt install cppcheck
  • Run cppcheck and redirect result to output file
  • cppcheck --enable=all --force -j4 . 2> output
  • run cppcheck with html report
  • cppcheck --enable=all --inconclusive --xml-version=2 --force --library=windows,posix,gnu [PATH_TO_SOURCE] 2> result.xml && cppcheck-htmlreport --title="Your Project Name" --source-dir=[PATH_TO_SOURCE] --report-dir=[OUTPUT_DIR] --file=result.xml && rm result.xml Would like to try latest version of cppcheck? just clone the source from github https://github.com/danmar/cppcheck.git for more detailed information, please visit the home page https://github.com/danmar/cppcheck
  • Reference
  • https://sites.google.com/site/opensourceconstriubtions/ettl-martin-1/tutorials/how-to-generate-an-html-report-with-doxygen-using-the-linux-command-line-interface

    Run 32 Bits program on Ubuntu 64 Bits

    Sometimes, you might need to run 32 bits program under 64 bits environment. Here are the packages you need sudo apt install primus-libs-ia32 sudo apt install gcc-multilib sudo apt install lsb

    hdparm - Sorage Device Configuration Tool

    Official Website: hdparm

    hdparm is a powerful and open source storage device configuration tool under Unix/Linux system. Here are the parameters I frequently used.

    • Identify Devicehdparm -I /dev/sdb
    • SecureErase hdparm --user-master u --security-set-pass p /dev/sdb
      hdparm --user-master u --security-erase p /dev/sdb
      hdparm --user-master u --security-unlock p /dev/sdb
      hdparm --user-master u --security-disable p /dev/sdb
    • Set Maximum Sector (84GB / 128GB)hdparm -N p164115504 --yes-i-know-what-i-am-doing /dev/sdb

    To pursue higher performance, storage device might implement data caching (store in the internal DRAM). However, it might have the risk of data loss, especially when a power failure occurred. For data protection purpose, we could disable write cache to prevent data loss disaster. Here are the steps for disabling write cache.
    Disable Write Cache(Assume your device mounted on /dev/sdb) hdparm -W 0 /dev/sdb Enable Write Cache hdparm -W 1 /dev/sdb Once you disable the write cache, the performance will drop sharply!!!

    Linux S3/S4 testing tool - rtcwake

    Source: lpmt.c

    If you are looking for a S3/S4 testing program under Linux OS. Here is a simple example to demonstrate how to do it by rtc

    Compile:
    gcc -o lpmt lpmt.c

    Run:  (S3 for 100 cycles)
    sudo ./lpmt S3 100
    use it at your own risk :)

    Ubuntu menu editor - alacarte

    very useful tool sudo apt install alacarte

    Thursday, December 01, 2016