Saturday, July 6, 2013

Spotify Puzzle #1 - Reversed Binary Numbers

I love the product and found few programming puzzle while I was browsing on their site.
This one is really simple, takes few minutes.

Wednesday, May 1, 2013

The Great Engineer

The things that separate a great engineer from a merely adequate one are passions and goals, character and personality, not specific technical skills.

It's not that skill doesn't matter; it's that skill is only one aspect of a great engineer, and it's the aspect that's easiest to change. Smart peoples' skills improve steadily with use. Personalities are much less mutable.

Sunday, April 28, 2013

Office Management Excellence Community Recommended Books

Monday, April 22, 2013

Keeping people really matters

Tech companies do a generally poor job at keeping employees from leaving, and replacing people is really hard.

Zach Holman (Github) recently posted a deck on this topic.

Thursday, April 18, 2013

Thoughts on on-boarding new hires

Bad onboarding:
  • A top-down marathon of meetings with tiers of managers and painfully boring training videos
  • New recruits treated like helpless new kids.

A better on-boarding:
  • Giving new recruits a very safe way to actually do, learning by doing is actually the best way to learn anything
  • Since building software is a social activity, giving them an opportunity to work with different teams and different code bases across the organization. This also helps communicating the big picture and the endless opportunities at the company.

Tuesday, April 16, 2013

What is an Enterprise Social Network?

An Enterprise Social Network is a media to connect individuals who share similar business interests or activities.

Social tools can help employees to access the knowledge and resources they need to work together effectively and solve business problems.

Sunday, April 14, 2013

Set Up a Virtualhost for Your Rails App on Localhost on OSX

You can map to http://localhost:3000 easily.

Sunday, April 7, 2013

Patrick Lencioni's The Five Dysfunctions of a Team: A Leadership Fable

According to the book, the five dysfunctions are:

  • Absence of trust—unwilling to be vulnerable within the group
  • Fear of conflict—seeking artificial harmony over constructive passionate debate
  • Lack of commitment—feigning buy-in for group decisions creates ambiguity throughout the organization
  • Avoidance of accountability—ducking the responsibility to call peers on counterproductive behavior which sets low standards
  • Inattention to results—focusing on personal success, status and ego before team success

Saturday, April 6, 2013

Patrick Lencioni's The Three Signs of a Miserable Job

There are three areas in addressing job misery.
  • People must feel that what they do is relevant and important. ("irrelevance")
  • People must feel that they are known and cared about. ("anonymity")
  • People thrive in an environment where they are given feedback. ("immeasurement")

"Managers who take the time to get to know their people on a personal basis and help them connect what they do with why it is important, go a long way toward engaging the heart, mind and soul of their team. To keep the "what and why" top-of-mind with employees, successful managers use performance measures to provide feedback to each individual so each one can self manage toward better outcomes."

"You don’t grow companies, you grow people and people grow companies"

Thursday, April 4, 2013

Git Grep with Git Blame

If you ever wished you could run git blame on the results of git grep then have a look at this

Monday, April 1, 2013

How GitHub Uses GitHub to Build GitHub

I finally got to see Zach Holman's talk on 'How GitHub Uses GitHub to Build GitHub', it was great.

He describes a process based on a simple branching strategy; branching master to a feature branch, when finished merged back or thrown away, also open a pull request to welcome discussion around the code/feature/strategy and guarantee quality.

Master is always deployable and passes CI, so everyone can push to master and everyone can deploy, which let people have responsibility over their code and frees up time from micromanaging someone else's code.

Thursday, March 7, 2013

Quiet: The Power of Introverts in a World That Can't Stop Talking

It is an important book on introverts (a vast proportion of the reading public) to tell them how awesome and undervalued they are.

Jon Ronson interviewing Susan Cain

Susan Cain's TED talk

Tuesday, January 29, 2013

Reposition chrome developer tools on the left

Clicking and holding the dock icon in the bottom left, it pops up an option to dock to right.

Wednesday, January 16, 2013

Daniel H. Pink - To Sell Is Human

Selling is a very human experience.

We’re all in sales now

Selling – not just objects, but ideas and techniques. We are persuading, negotiating, and pitching.

Who do the best in selling are, not extroverts, nor introverts, but those balanced people who share characteristics of both, the ambiverts.

The ABCs of Selling

New principles of sales: attunement, buoyancy, and clarity.

  1. Attunement is the ability to bring your actions and outlook into harmony with other people and the context you’re in.

  2. Buoyancy is the ability to stay afloat, mentally and emotionally, through an ocean of rejection.

  3. Clarity is the capacity to help others see their situations in fresh and more revealing ways and to identify problems they didn’t realize they had.

Successors to the Elevator Pitch

The old idea of an elevator pitch is outdated.

6 new ways to pitch: - One-word pitch - Question pitch - Rhyming pitch - Subject line pitch - "Twitter" pitch - "Pixar" pitch.

Every Pixar movie follows

Once upon a time there was . . . Every day, . . . One day, . . . Because of that, . . . Because of that, . . . Until finally, . . .

You can fill in the blanks from every Pixar movie you’ve seen. This 6-sentence format gives you the power of story within a concise, disciplined format.


Peter Diamandis and Steven Kotler - Abundance

“Humanity, is now entering a period of radical transformation in which technology has the potential to significantly raise the basic standards of living for every man, woman and child on the planet.”

By a future of abundance, they do not mean luxury. They mean a future that will be “providing all with a life of possibility.”

They describe in detail some of the new technologies and advancements in a variety of critical areas, such as clean water, food, energy, health care and how innovative solutions are emerging to solve the world’s biggest problems.

The Abundance Pyramid

The goal of abundance may be best understood as a pyramid with 3 hierarchically arranged tiers of goods, where everyone on the planet is given the opportunity to achieve each of the goods in the 3 tiers.

Achieving Abundance

In any fields of technology innovation is advancing at an exponential pace. While some believe that exponentials hold the promise of securing abundance on their own, this is not the author’s position. Diamandis maintains that these exponentials are going to need some help:

  • DIY Innovation
  • The Techphilanthropists (like Bill Gates)
  • The Rising Billion

The new (and upcoming) technology


Cheap, energy-efficient desalinated water with nano technology.

The Smart Grid for Water: “the plan is to embed all sorts of sensors, smart meters, and AI-driven automation into our pipes, sewers, rivers, lakes, reservoirs, harbors, and, even our oceans”. The plan, it is thought, will initially save 30% to 50% of water use."

Revolutionize waste and sanitation, i.e. high-tech toilets that will completely eliminate the need to transport and treat sewage, and rather than wasting anything water, these toilets give back: packets of urea (for fertilizer), table salt, volumes of freshwater, and enough power that you can charge your cell phone while taking a crap.


Vertical farming

GE crops, in-vitro meat


Solar power, algal biofuel, nuclear technology


Educational computer games, to online lectures, to computer programs that keep track of correct solutions and student progress


Lab-on-a-Chip technology, quick and inexpensive diagnosing

As speaking of the shortage of doctors and health-care professionals, services that these professionals provide could be performed by robots.

Genomic medicine promises to allow us to tailor our healthcare solutions to our individual genomes: “in short, each of us will know what diseases our genes have in store for us, what to do to prevent their onset, and, should we become ill, which drugs are most effective for our unique inheritance”

Stem cell technology, “the potential for this technology is immense. In the next five to ten years, we’re going to be able to use stem cells to correct chronic autoimmune diseases such as rheumatoid arthritis, multiple sclerosis, ulcerative colitis, Crohn’s disease, and scleroderma. After that, I think neurodegenerative diseases will be the next big frontier; this is when we’ll reverse the effects of Parkinson’s disease, Alzheimer’s disease, even stroke. And it’ll be affordable too”


"Economic freedom, human rights, political liberty, transparency, the free flow of information, freedom of speech, and, empowerment of the individual” ICT has been shown to be a potent force in defending human rights, exposing government corruption, helping stage fair elections, and advancing freedom of speech and expression.


Solving Problems Anywhere, Solves Problems Everywhere “Our days of isolation are behind us. In today’s world, what happens ‘over there’ impacts ‘over here.’”

"In a world of material goods and material exchange, trade is a zero-sum game, but if you have an idea and I have an idea, and we exchange them, then we both have two ideas. It’s nonzero.”

Abundance contains a plethora of research and success stories to demonstrate that cutting edge technologies and methods are now being used to make dramatic advances in the areas of clean water, food, health care, education, energy, and freedom. The authors show us the real possibility of a world where every human has their basic needs of humanity met, and as we approach this goal, an even further acceleration of progress will occur.


Tuesday, January 15, 2013

Messed up arrow keys in GNU screen on OSX

If you accidentally hit CMD+r in terminal it may messes up arrow keys in screen.
Solution is easy, detaching screen from your terminal and reattaching should make your arrow keys work again.

Hit CTRL+A CTRL+D to detach screen from terminal, then run screen -r to reattach.