Shift from local DNS to Google DNS

Shifting to Google DNS than local ISP has become essential one of these days, and here we go: DNS stands for Domain Name Resolution service and essentially converts our requests to web address to its raw IP form. Its like : You request for : http://www.google.com —->[ ISP DNS Server ]—–>( resolves to IP )—–> Your System connects to IP. 1 ) Using terminal:

sudo nano /etc/resov.conf

and add the following to the end of the file

nameserver 8.8.8.8
nameserver 8.8.4.4

restart networking using :

sudo /etc/init.d/networking restart

2 ) Graphical Way:Selection_020 And restart the network. Detect your current DNS To test settings are correct – give this:

dig github.com

and check for the SERVER para matches

;; SERVER: 8.8.8.8#53(8.8.8.8)

Edit : You can use multiple alternatives like Open DNS ( https://www.opendns.com ) etc. to get the same effect. Enjoy !

Advertisements

Composer : Loading specific ‘tags’ instead of ‘branches’

The beauty of composer comes to play when we want to have a custom fork of a software, say hosted in Github to be autoloaded. Again, introducing composer to people who are new:-
Quoting from https://getcomposer.org/doc/00-intro.md

Composer is a tool for dependency management in PHP. It allows you to declare the dependent libraries your project needs and it will install them in your project for you.

The docs tells exactly how to load a developement branch, using the dev- prefix (https://getcomposer.org/doc/05-repositories.md#vcs)
Problem:
* You want to load a custom release tag version from Github
+ You want to load release tag – 5.0-patch from Github repo of monolg
Solution:
* Edit the composer.json
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/igorw/monolog"
}
],
"require": {
"monolog/monolog": "5.0-patch"
}
}

* save it, run $ composer update
There you go ! 🙂 Thanks

Git: Renaming a release tag

Often you meet with the problem with a release tag, prepared in haste. It can be renamed in a few simple steps. The damage caused due to this may vary. Application can range from – correcting typos to making tag compatible with tools like composer.
Problem:-
* Erroneous release tag
Assumptions
+ tag_old = old tag
+ tag_new = new tag (required)
Solution
* The approach is pretty simple.
$ git tag tag_new tag_old
$ git tag -d tag_old

That would create a new tag out of the existing one and kill the old one
git push origin :refs/tags/tag_old This will delete the tag in your remote location
git push --tags This will update the new tag in your remote 🙂
Bingo! You are done.
PS: There are alternate ways too.

Git: Preparing a release-tag out of an existing stable branch

Just to mention what branches and tag are, A tag represents a version of a particular branch at a moment in time. A branch represents a separate thread of development that may run concurrently with other development efforts on the same code base[1].
Now, last day I hit into a situation of creating a release tag for the WMF cluster out-of the swiftmailer v5.2.0 stable release.
we will use

foo - our repo
v1.2 - the latest stable release tag in a newly created branch foo/1.2

Problem:-
* The source master-branch is buggy, and you want to impress by taking up their latest stable branch (v1.2).
* You want to push some patches into the checked-out (v1.2) branch, and make it a new release-tagged as v1.2-bar.
WorkFlow:-
* clone the local fork of the repo. (If you have write access, the main one itself)
* create a branch starting from the v1.2 tag.
$ git checkout v1.2
you will reach a detached head state
$ git checkout -b foo/1.2
now you are in a new branch foo/1.2 git status to verify that
* now work around the code, fix up the first patch. After committing
$ git push origin HEAD
This will push all the latest branch and commit into the repo. Continue this for all the patches.
Creating a new release tag:
* Now once all the patches are done and pushed into the repo, do
git tag v1.2
git push origin HEAD
bingo! You will have your new tag ready for release :). Thank You
[1]http://stackoverflow.com/questions/1457103/what-is-the-difference-between-a-tag-and-a-branch-in-git