Learning New Technologies. Sharing knowledge.

one line of code at a time|

Why Flutter or Dart?

Flutter is the new kid around the block, and it came with a lot of new concepts and features. Before we dive into learning more about Flutter and why is claimed to be the best cross-platform solution, we need to take a step back and look at existing available solutions. Cross-platform frameworks allow developers to write one single codebase and run the same code on multiple platforms. Big names such as Adobe, Microsoft and Facebook have attempted to solve the problem of duplicate codebases on both the Android and iOS platform.

Understanding Linux File Permissions and Ownership

The Linux permissions are composed of 9 bits, which are assigned to files and folders and it appears as -rwxrwxrwx. Note: For a regular file a dash appears right in front of the 9-bits, however if it is a directory then you will see a d right in front of it instead of a dash, this is to indicate that it is a directory. E.g. l for (symbolic link) b for (block device)

Django Settings Deployment

After a long research I have finally found a good solution to deploy Django settings into several stages, which is production, development and common shared settings. I have also found a good way to deploy Django overall, which I’ll be writing soon. Just to clarify, there is not standard way of deploying Django, however I think the method I put together is a very good way for deployment. Where should the settings be stored?

Installing Python From Source

Getting the Python release First we need to go to Python’s source download link at https://www.python.org/downloads/source/ and choose our Python version, for this tutorial I have chosen Python 3.5.2 as it’s the latest stable release as of this writing. wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz or directory specific: wget -P /tmp https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz The above command will download python 3.5.2 Gzipped source tarball to the current directory I’m currently in /root, you can specify -P as specified above to save on that directory.

Installing Postgresql Centos 7

You can check which version of Centos you are running by: cat /etc/redhat-release Output CentOS Linux release 7.2.1511 (Core) Install the repository for the latest stable version: Add "exclude=postgresql*" to code blocks [base] and [updates] sections in /etc/yum.repos.d/CentOS-Base.repo to avoid outdated yum packages. Then Install the latest version repo RPMs for Centos 7. Get the link for the latest stable version at http://yum.postgresql.org/repopackages.php yum localinstall <link from the comment above> As of this writing version PostgreSQL 9.

Vim Basic Movements

Vim is an open source text editor mainly used by Unix based operating systems, however Vim is cross-platform, meaning it can be used on Unix, Linux, Mac OS X, Windows, iOS, Android. Vim was design to be used on command line interface and as a standalone application in a graphical user interface. Vim can be very annoying at the beginning because of its commands and configuration, but once you learn how powerful this text editor is, you will definitely see how fast your production can be.

Zipping and Unzipping Files Linux

Linux has a Zip and Unzip program, which allows you to compress or decompress files, however most distributions does not come with it installed by default. You can install this programs with the Shell prompt. Open Application > System Tools > Terminal. Type the following command to install on Debian based operating systems like, Ubuntu, Mint and so on: apt-get install zip apt-get install unzip or sudo apt-get install zip unzip If you are on RedHat based operating systems like CentOS:

Fix Authentication refused bad ownership or modes ssh

If you are setting a server or your own machine with SSH key password-less, then you will likely get this error Authentication refused bad ownership or modes. This happens for your own security, SSH is very picky when dealing with ~/.ssh and this is the right thing, people apart from yourself should not be able to move, read or edit your ~/.ssh. To fix this issue all you have to do is set the right permission.