View 0_reuse_code.js
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
View gist:78c882a48b46d140cfac
# Prints unique sha1 for the file
git hash-object data/number.txt
#Lists commit object ids
git rev-list --objects —all
# Lists out the git objects
find .git/objects -type f
# Lists files added to git index

Show git branch name in Bash prompt

Put this line in your ~/.bashrc or ~/.bash_profile

export PS1="\h:\W \u\$(__git_ps1 \" (%s) \")\$ "

Configure shortcuts

git config --global checkout
View gist:9d56233ef8561b7eb1fc


    1. sudo vi /etc/connman.conf
    1. Make sure you have following

Keybase proof

I hereby claim:

  • I am anildigital on github.
  • I am anildigital ( on keybase.
  • I have a public key whose fingerprint is 8D19 0F1E 9493 9306 6066 96B6 6E1A 604F 82E6 14C6

To claim this, I am signing this object:


Inspired by Trulia Trends - but with code and using SVG.

Example data shows concurrent user sessions over time, taken from a development environment.

View gist:862675ec1b7bccabc311
docker rmi $(docker images -q -f dangling=true)

The introduction to Reactive Programming you've been missing

(by @andrestaltz)

So you're curious in learning this new thing called (Functional) Reactive Programming (FRP).

Learning it is hard, even harder by the lack of good material. When I started, I tried looking for tutorials. I found only a handful of practical guides, but they just scratched the surface and never tackled the challenge of building the whole architecture around it. Library documentations often don't help when you're trying to understand some function. I mean, honestly, look at this:

Rx.Observable.prototype.flatMapLatest(selector, [thisArg])

Projects each element of an observable sequence into a new sequence of observable sequences by incorporating the element's index and then transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence.

// Simple Java program
public class Person {
private int age;
private boolean isFemale;
Person(int age, boolean isFemale) {
this.age = age;
this.isFemale = isFemale;

Many software development organizations fail to follow these principles and pay the price, which can lead to failure. Google mostly doesn't make the mistakes of going against them, though some projects at ITA used to.

Every change should be reviewed, seriously

Code reviews not only improve code quality by having more eyes to find bugs, but most importantly they build the mutual knowledge of the code base, and cross-pollinate minds of team members. This may look like it slows you down in the very short term, but is essential in the long run. If you need to check in a critical fix right now, interrupt a colleague and get the just as critical review right now. If it's so urgent that you can't wait for a review when no colleague is available at the moment (in the middle of the night, or they are all sick, in vacation, or in a retreat), then get it reviewed after the fact, but get it reviewed still (and of course run automated tests — your infrastructure won't let yo