Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

gnome builder

Install flatpak package sudo add-apt-repository ppa:alexlarsson/flatpak sudo apt update sudo apt install flatpak
Install gnome builder via flatpak flatpak install --from https://git.gnome.org/browse/gnome-apps-nightly/plain/gnome-builder.flatpakref $ flatpak run org.gnome.Builder

cx_Freeze - make python program executable

  • Intro.

  • cx_Freeze is tool for making your python program as executable program under Linux, Mac OS and Windows operating system (similar with pyinstaller) I couldn't make it work well with one of my PyQt project. pyinstaller is my top choice of this kind tools.

  • Installation

  • pip install cx_freeze
  • Get started with cx_freeze

  • simply create a setup.py under your working directory and run below command to create executable program python setup.py build For the details of setup.py, please click below link to get the reference example http://cx-freeze.readthedocs.io/en/latest/distutils.html

pyinstaller - make python program executable

  • Installation
  • pip install pyinstaller
  • Run pyinstaller
  • switch to your program directory
    pyinstall your_program.py if you get the error message of "pyinstaller: command not found", you'd need to find out the installed path of pyinstaller
    sudo find / -name pyinstaller modify ~/.profile as your environment PATH variable
    $PATH = $PATH:/my/path/to log-out and login your account, it might works now!
  • Reference
  • http://www.pyinstaller.org/

opencc - open chinese convert

install opencc via apt sudo apt install opencc
example for convert chs to cht
opencc -i "input.txt" -o "output.txt"

Install python3.6 on Ubuntu 16.04

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt update
sudo apt install python3.6
sudo apt install python3.6-dev
sudo apt install python3.6-venv
wget https://bootstrap.pypa.io/get-pip.py
sudo python3.6 get-pip.py
sudo ln -s /usr/bin/python3.6 /usr/local/bin/python3
sudo ln -s /usr/local/bin/pip /usr/local/bin/pip3


type python3 and pip3 -V to get version information

Linux Command Line without Password

Edit /etc/sudoers and insert below statement at the end of this file

username ALL=(ALL) NOPASSWD: ALL

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

    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 - 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

    Ubuntu module blacklist

    Edit blacklist.conf sudo gedit /etc/modprobe.d/blacklist.conf Add below statement at the end of the blacklist.conf blacklist [module name] Update ramfs and reboot sudo update-initramfs -u sudo reboot

    [Ubutnu] analyze system boot time

    Simply execute the following command to see the detailed boot up time systemd-analyze blame

    [Ubutnu] Create bridged network for qemu

    Simple way to create bridged network between Ubuntu host and qemu client Install bridge-utils package first. sudo apt-get install bridge-utils Edit /etc/network/interfaces, and append the following configurations. Add a bridged network (br0) to your host network adapter (eth0)
    ------------------------
    auto br0
    iface br0 inet dhcp
     bridge_ports eth0
     bridge_stp off
     bridge_fd 0
     bridge_maxwait 0
    ------------------------
    Restart your network. sudo /etc/init.d/networking restart Edit your script to boot qemu client, here is an example (-net nic, -net bridge,br=br0) qemu -net nic, -net bridge,br=br0 you are now ready to boot your qemu client with bridged network

    Orange - data analysis tool

    Installation pip install orange3 Run orange python -m Orange.canvas