Showing posts with label Computer/Technology Tips. Show all posts
Showing posts with label Computer/Technology Tips. Show all posts

git command cheat sheet - short description

GIT command cheat sheet with short descriptions

Git taskNotesGit commands
Tell Git who you are Configure the author name and email address to be used with your commits.Note that Git strips some characters (for example trailing periods) from git config --global "Sam Smith"
git config --global
Create a new local repository git init
Check out a repository Create a working copy of a local repository: git clone /path/to/repository
For a remote server, use: git clone username@host:/path/to/repository
Add files Add one or more files to staging (index): git add <filename>git add *
Commit Commit changes to head (but not yet to the remote repository): git commit -m "Commit message"
Commit any files you've added with git add, and also commit any files you've changed since then: git commit -a
Push Send changes to the master branch of your remote repository: git push origin master
Status List the files you've changed and those you still need to add or commit: git status
Connect to a remote repository If you haven't connected your local repository to a remote server, add the server to be able to push to it: git remote add origin <server>
List all currently configured remote repositories: git remote -v
Branches Create a new branch and switch to it: git checkout -b <branchname>
Switch from one branch to another: git checkout <branchname>
List all the branches in your repo, and also tell you what branch you're currently in: git branch
Delete the feature branch: git branch -d <branchname>
Push the branch to your remote repository, so others can use it: git push origin <branchname>
Push all branches to your remote repository: git push --all origin
Delete a branch on your remote repository: git push origin :<branchname>
Update from the remote repository Fetch and merge changes on the remote server to your working directory: git pull
To merge a different branch into your active branch: git merge <branchname>
View all the merge conflicts:View the conflicts against the base file:Preview changes, before merging: git diffgit diff --base <filename>
git diff <sourcebranch> <targetbranch>
After you have manually resolved any conflicts, you mark the changed file: git add <filename>
Tags You can use tagging to mark a significant changeset, such as a release: git tag 1.0.0 <commitID>
CommitId is the leading characters of the changeset ID, up to 10, but must be unique. Get the ID using: git log
Push all tags to remote repository: git push --tags origin
Undo local changes If you mess up, you can replace the changes in your working tree with the last content in head:Changes already added to the index, as well as new files, will be kept. git checkout -- <filename>
Instead, to drop all your local changes and commits, fetch the latest history from the server and point your local master branch at it, do this: git fetch origingit reset --hard origin/master
Search Search the working directory for foo(): git grep "foo()"


Solve - Hyper-v not compatible on VMware player

I had enabled hyper-visor when installing docker in my system. But it seems it needs to be disabled to allow VMware run smoothly.

The error that I got from VMware.
Hyper-V not compatible - VMWare Error


Here's how I solved it:

1) Run command prompt as Administrator
2) Run the following command to disable hyper visor launcher
  C:\>bcdedit /set hypervisorlaunchtype off

If you want to enable it back to run Docker, the following command will help.
  C:\>bcdedit /set hypervisorlaunchtype auto

How browserSync actually works ?

How BrowserSync actually works ?

BrowserSync starts a small Node.js server which injects a script ( as below) into the webpage that it's monitoring.The script makes use of WebSockets to communicate between server and client to watch for changes to the code or browser actions. As soon as BrowserSync detects an action ( either in one browser or a server code) it performs a page reload.

<script id="__bs_script__">

    document.write("<script async src='/browser-sync/browser-sync-client.2.11.2.js'> <\/script>".replace("HOST", location.hostname));

If you’re already using a local web server or need to connect to a live website, you can start BrowserSync as a proxy server. See how to do this.

Articles related to BrowserSync /Grunt configuration:

BrowserSync local server proxy configuration

Integrate BrowserSync - with existing local server :

In this example, I will show how we can configure BrowserSync - Grunt task with you existing existing webapp that is running on a local server.

If you want to know the details on
  • how to configure the BrowserSync and Watch tasks  on Grunt, Please visit my previous post :

The configuration is simple : You just need to let the browserSync to know URL of your local server.

options: {
         proxy: "local.server-URL"

The final Gruntfile.js file : (full configuration is already described on my earlier blog  post
BrowserSync Grunt configuration - Multi browswer Live Reload )

module.exports = function(grunt) {
  // Task configuration will go here
   watch: {
   browserSync: {
       bsFiles: {
         src: [
           "css/*.css", "js/.js", "./*.html" //search file/folders
       options: {
         proxy: "local.server-URL" // NEEDS TO BE CONFIGURED
  // Load tasks dependencies
  // Setup default task
  // both browserSync and watch will run when running >grunt command
  grunt.registerTask('default', ['browserSync', 'watch']);


BrowserSync Grunt configuration - Multi browswer Live Reload

How to configure BrowserSync's Live Reload feature with Grunt tasks :

BrowserSync is capable of live reloading and syncing the changes across all your test browsers. This will launch a mini web server by using your current working directory as the base, watch your files for changes & auto-inject those changes into all connected browsers.

See my earlier blog post for the pros/cons of BrowserSync over LiveReload.

In this tutorial, I will demonstrate how to configure the BrowserSync with Grunt tasks "grunt-contrib-watch" and "grunt-browser-sync" in a basic web page setup. You can easily configure your bigger projects on you follow the following steps:

Setup Steps:

The link to github project is given at the end of this article.

1) Web App/Site setup :

I've a basic web site with the following files / directories in my working folder:


BrowserSync vs LiveReload productivity boosters comparison

BrowserSync and LiveReload both are the cool tools that are aimed to improve the development workflow i.e., productivity of front-end development team. In summary, they both reload your browser automatically when you change some css or javascript or HTML - let's say any resource.

The main feature that we get from BrowserSync is : it has capacity of live reloading all your test browsers. It doesn't has constraint to one browser, meaning : it can reflect your code changes on every browser/device/emulator. The new devices/browsers can be added/tested with no additional configurations.


Pros and Cons of BrowserSync with LiveReload:

Pros :
  • Works across multiple devices at the same time
  • Works with all browsers and devices
    • No configuration/plugin needed in each browser
  • Synchronized actions across all browsers
    • form input, page scroll, navigation all gets synchronized across the browsers
  • Works with all browsers and devices
Con :
  • Initial configuration might be a little tricky
    • npm, grunt or gulp etc needs to be configured and the dependencies might give some problems to configure


Configuring Lombok on IntelliJ - Installation of Lombok plugin

How to install/configure Lombok plugin on IntelliJ IDEA :

Steps :

1) Installation 
Using IDE built-in plugin system on Windows:
  • File > Settings > Plugins > Browse repositories... > Search for "lombok" > Install Plugin
Using IDE built-in plugin system on MacOs:
  • Preferences > Settings > Plugins > Browse repositories... > Search for "lombok" > Install Plugin
Manually: 2) Restart IDE.
3) Enable Annotation Processing
 In your project: Click Preferences, "Build, Execution, Deployment", Compiler, Annotation Processors. Click Enable Annotation Processing
Enabling Annotation Processing on IntelliJ IDEA

Optional) IntelliJ and Eclipse compiler
If you're using Eclipse compiler with lombok, try this setup:
  • install plugin (above process)
  • change compiler setting:
  •  > Compiler > Java Compiler > Use Compiler: Eclipse
  •  > Compiler > Annotation Processors > Enable annotation processing: checked (default configuration)
  •  > Compiler > Additional build process VM options: -javaagent:lombok.jar

References :

Ynaxdh - answer acronym in Yeoman generator

Meaning of Ynaxdh in Yeoman generator

Here the complete list of options/meanings:

  • Y: yes (Default)
  • n: no
  • a: always yes (yes to this question and all others)
  • x: exit
  • d: show the differences between the old and the new file
  • h: help, list all options

Notes :   

  • If you don't remember this definitions you can always enter h and see the list.
  • Also in the new version, when you enter one of the letters you will see the definition showing behind the question so that you can verify your answer before pressing Enter key.
  • The one in uppercase is the default one. If that is your choice, you can just hit enter.

linux terminal commands for beginner level

  • ls - list directory contents
  • pwd - print name of current/working directory
  • cd - change working directory
  • pushd/popd - put working directory on a stack
  • file - determine file type
  • locate - find files by name
  • updatedb - update database for locate
  • which - locate a command
  • history - display bash command history

  • whatis - display the on-line manual descriptions
  • apropos - search the manual page names and descriptions
  • man - an interface to the on-line reference manuals

  • mkdir - create a directory/make directories
  • touch - change file timestamps/create empty files
  • cp - copy files and directories
  • mv - move (rename) files
  • rm - remove files or directories
  • rmdir - remove empty directories

  • cat - concatenate files and print on the standard output
  • more/less - page view
  • nano - command line text editor

  • sudo - execute a command as superuser
  • su - change user ID or become another user
  • users - print the user names of users currently logged in
  • id - print real and effective user and group IDs

  • chmod - change permissions of a file

  • Ctrl+C - kill a running command
  • killall - kill processes by name
  • exit - log out of bash

using symbolic links on windows

Using symbolic links (MKLINK comand) on windows:

Suppose we want to create a link of folder 'e:\source' to c:\target\bridge then, use the following command:

C:\>mklink /d c:\target\bridge e:\source

Syntax : mklink /d TARGET SOURCE_DIR

  • This command creates a link folder "bridge" in c:\target\ where you can see the contents from e:\source.
For more info :
Visit: - 

Excel to Wiki table converter

Tab separated table - Excel / Google Sheet to Wiki table converter

Input : Paste Tab-separated table data ( eg : row/column from Excel, Google Docs etc)

Output : MediaWiki formatted table

Source : GitHub

git- saving username password - credential.helper cache - how to

Isn't is interesting if there is an option in GIT to save your credentials for short time so that you don't enter your username/password repeatedly each time when you do pull/push? Yes! there is an option introduced in GIT since 1.7.9 (released on January 2012). This method is more secure than permanently saving your username/password in   .git  file of your git clone directory.

So, run the following command at the GIT console (git bash) :
git config --global credential.helper cache
This caches the credentials for 15 minutes ( 900 seconds) by default. If you want a longer timeout period (say3600 seconds), you can do the following :
git config --global credential.helper 'cache --timeout=3600'

nepali english date conversion logic - working java code

My friend Manoj has written about Nepali-English date conversion in this post. Take a look :

He has explained the algorithm in detail about how to convert English dates into Nepali dates with java code.

Java Script code that disables right click and prevents selecting the text on web page.

Java Script code that disables right click and selecting the text on web page.
Put the following code in your <body>........</body> tag.
function disableselect(e){return false;}
function reEnable(){return true;}
document.onselectstart=new Function (){return false;}
if (window.sidebar){

document.oncontextmenu = function(){return false;}
if(document.layers) {
    window.onmousedown = function(e){
        return false;
}else {
    document.onmousedown = function(){return false;}

For Blogger template,

  • Search for </body> in the template code
  • paste the above script just before </body> tage.
Enjoy !
You are now safe from website article thief.

facebook security bug - change password of a active user - without knowing original password

change password of a active user -without knowing original password - security bug - Facebook allows to change password in active login without entering current password

As of May 2012, Facebook has over 900 million active users. Security and privacy should be the number one concern of Facebook Inc. But I just found one BUG in Facebook security system.

This might (not) be a security bug in Facebook. And probably be fixed by Facebook when you tried to do the same, because I am going to report this to Facebook.

All the steps below that I am going to share - deals with changing someone else’s password without entering their previous/current password. I have never seen or write code for “login preference change” that allows to change password without entering previous password or other information.  I was shocked to know that Facebook allows it. I was just playing with Security option in Facebook’s Account setting And found that.

Steps that I followed :

Correct way of connecting ADSL splitter and router

REMEMBER : If you need extensions, connect it after splitter only. 
Right way of connecting adsl splitter and router in telephone line
Wrong way of connecting adsl router, splitter in telephone line

correct adsl connection diagram, router, computer, splitter, telephone line

NTC ADSL Configuration Working Way

To configure ADSL setting in a ADSL Router, you need to enter the following informations .

The (generic) easy steps :

1) Open (in most routers) in router,
        use admin for username and admin for password (If it doesnot work, refer to the manual of router, the login information can be found on back of router)

2) Search for the ADSL settings page in the router config -
For Routing Mode (where router automatically dials the connection), You need to provide/choose the following minimum settings there

>Choose PPPOE LLC for Connection type or encapsulation
>Enter correct username and password given by NTC
>Choose authentication AUTO
>provide 8 for VPI, and 81 for VCI

3) Save the connection settings and restart the router.
4) Make sure all the LEDS including internet is ON.

Nepal Telecom - useful service dial codes

I have listed important number/codes to dial to access useful NTC services.

1,2 : GPRS Activation/Settings : 

view previous blog :

3.GSM/CDMA Post paid Balance Inquiry:

Type CB (in your Message Box) & Send it to 1400(For GSM) or 1401(for CDMA), which informs u the due balance.
Type VB<space>6904 (in your Message Box) & Send it to 1400(For GSM) or 1401(for CDMA)
Note: Upper given 6904 is the example of concerned month and year, u can put number as per ur necessety
which is used to find out monthly bill.

4.CDMA Call Divert Cancel

Dial *703 from your CDMA mobile Set.

5. PUK no Inquiry (for both GSM and CDMA User)

Dial 1607 (follow the instruction)
(type 19 no. of pin code available at backside of your SIM)

6. International Call Bypass complain Registration

(if National Tel. Number appear while receiving International Call)
Dial 188 (follow the instruction), which is free of cost.

7. Telephone Maintenance (both for Land Line and ADSL)

Dial 198 (follow the instruction)

8. Budget Call (for international call)

Dial 1424<country code> <number>
(this link provides you the economic tariff details for various country)

9. GSM inquiry

Dial 1498-free of cost ( For any complain or any query about ur GSM Prepaid )

10. CDMA enquiry

Dial 191- free of cost ( For any complain or any query about ur CDMA, sky ruim )

11. Balance Inquiry (for prepaid)

GSM : Dial *400# or 1414
CDMA : Dial 1415

12. BUZZ Service (Connect)

Type SUB (in your Message Box) & Send it to 5000

13. BUZZ Service (Disconnect)

Type UNSUB (in your Message Box) & Send it to 5000

14. PSTN Bill Inquiry

Dial…1606(related no)

15. PSTN, ADSL, POSTPAID GSM Bill payment through recharge card

Dial 1413 and follow instructions
Note : ADSL Bill payment through recharge card is Halted due to some problems, and will be restart soon.

16. Telephone no Inquiry (to know the contact no of different offices)

Dial… 197

17. Upgrade your postpaid/ prepaid GSM to 3G

Type <3G> in your msg box and send it to 1400 (It’s Free)

HTML5 tutorial with examples

Wouldn't it be nice to read about all the cool things about HTML 5 and view its live demo in a single article?
Yeah... Of course.
My friend Yadab Raj Ojha has listed all the features of HTML5 along with its examples in the following article. Take a look:

cygwin: access windows disk, directories and files

Cygwin is a Open-source Linux-like environment for Windows. In this tutorial, I am going to show how we can access the windows directories and files using cygwin.