hari@weblog

I see, learn and rediscover… everyday!
 
hari@weblog

Books to read – Q4/18

One of the downsides of running a company is that you get caught up with so many problems to solve ‘at this moment,’ that you miss the focus to think long term. Especially one of the things I miss the most is reading books and reflecting on the learnings. It is easier to take your time off to read books …

The People & The Problem

  9 years since I’ve decided to start on my own. Looking back, not a bad decision after all. Looking ahead, excited only about two things. People I’m working with and the problem I’m solving. More and more interesting people to work with. The scope of the problem to be solved is getting bigger and bigger. #excited! Photo by rawpixel on Unsplash

#define startup

There are a lot of ways to define a startup. Paul Graham defines a startup as growth. This is how I would define it. A startup is an interesting & brutal game. The reason why it is both interesting & brutal is that the rules of the game keep on changing. Every 2 or 3 years, almost the entire rule set …

Who built Interviewstreet?

The answer for the above question was always “Vivek & Hari”, but not anymore. To give an idea on from when to when we built things and now who is “actually” building the company. From June 2009 – December 2011  From Jan 2012 – Today.    There were many other smart programmers we hired, fired/quit. They did help us grow …

Hiring

Start as if you are going to stick to it for the next 10 years. Hire as if you are going to quit in the next 3 months. Status check: Part 1 – Done Part 2 – In Progress

Proud

A few days ago, a website (hmm, not just any website though) happened to mention my name in one of their posts. A lot of people congratulated (for what) and some even said “You should be so proud now”. Well, to tell you the truth I wasn’t. In fact, for that matter, I don’t think I’ve ever been proud of anything except …

My TODO Notebook.

When I used to work from bangalore, I had this 300 pages notebook. I used to carry it everywhere and write my TODOs. I stopped using it after I moved to chennai. I happened to get a look at this notebook after a long long time and boy, how much I’ve scribbled. Note : Most of the notes is about …

Remove all your friends from Facebook.

Very rarely, you will want to delete all friends from Facebook and start a “fresh” facebook account. Now, it’s hard to do this manually. Thanks to phpunit + selenium + a few lines of code, this can be done now. The following script removes all your friends from facebook 🙂 Replace and with your username and password respectively. <?php require_once ‘PHPUnit/Extensions/SeleniumTestCase.php’; …

Vim tutorials

VIM is an awesome editor, but comes with a big big learning curve. These are the the top 3 Vim tutorials from where I learnt to use Vim. 1. http://www.vi-improved.org/tutorial.php 2. http://vim.runpaint.org/toc/ 3. http://www.swaroopch.com/notes/Vim_en:Table_of_Contents If you want to learn more, checkout http://thomer.com/vi/vi.html#manuals

Git reflog and git force push

Git reflog saves you from all screw-ups you do while using git. Here is a sample output of git reflog. hari@hari-desktop:/var/www/recruit$ git reflog e458f54 HEAD@{0}: checkout: moving from test1 to e458f54fe99202c82c2690be4fa2fe2d7aa7be32^0 a3281d1 HEAD@{1}: checkout: moving from master to test1 f265802 HEAD@{2}: checkout: moving from test1 to master ef08492 HEAD@{3}: ORIG_HEAD: updating HEAD e458f54 HEAD@{4}: commit: Implement phpunit testcase. 1ecf2c3 HEAD@{5}: …

Compare branches in git

Want to check if all changes in your new branch is merged to main branch before you delete the new branch. git log feature1 ^master The above command displays all commits which are present in feature1 and not present in master. Note 1: You can also try “git branch -d feature1”. If the new branch is not totally merged, git …

So, can your careers page attract rockstar hackers?

Hiring good candidates is a problem for every single company out there.. no matter small or big. We at interviewstreet attack the tip of the iceberg by filtering good programmers from the rest. People say, it’s a huge timesaver ;-). But enough about interviewstreet, the first problem companies should tackle is to make sure rockstar hackers apply for the job. …

HTML5 Experiment 1 – Burst the Balloon

HTML5 seems to be the buzz word now. People around me are excited about HTML5 or already working on something with HTML5. Curious to know what the hell is this HTML5, I started reading something from https://developer.mozilla.org/en/HTML/HTML5. Well, truth be told, I finished the overview in say 15 minutes and didn’t know what exactly to do after that. I was …

Advices…

More than an year since I’ve quit IBM and into startup world. Too many things to write.. Things moving at such a rapid rate that if I write something today, tomorrow it might not be valid or correct. Makes me stop and think at times whether what I’m doing makes sense, is it the right path or am I yet …

The Frog in the Well

Once there was an old frog who lived inside a deep well. Frog was so happy with his home that he always told his friends who also lived in his well how wonderful the well was. One day, Frog was sitting on a ledge near the wall of his well appreciating the sky when he saw an unexpected visitor at …

Delete a remote branch in git

We use Git here at interviewstreet. Using Git, branching, testing and reverting is so easy. Almost all commands are simple and easy to remember in Git, except for deleting a remote branch. The command to delete a remote branch “feature1” is git push origin :feature1 Just wanted to note this down.

Advanced Bash Scripting – Part 2

The problem statement is as follows : The Playfair Cipher encrypts text by substitution of digrams (2-letter groupings). It is traditional to use a 5 x 5 letter scrambled-alphabet key square for the encryption and decryption. Each letter of the alphabet appears once, except “I” also represents “J”. The arbitrarily chosen key word, “CODES” comes first, then all the rest …

Query String in URL using Codeigniter

CodeIgniter by default won’t allow you to use query strings in the URL. This is how you enable query string in url in codeigniter. 1. Set $config[‘uri_protocol’] = “PATH_INFO” in config.php 2. Set $config[‘enable_query_strings’] = TRUE in config.php 3. Make you sure you have QSA in your .htaccess. For example, RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^(index\.php|images|includes) RewriteRule …

My first 30 day challenge.

I’m a big fan of Matt Cutts (who isn’t) and especially like his 30 day challenges. So, I decided probably I can give it a shot for a couple of months. So, some of the stuff I had in my list are. 1. Learn Hadoop. 2. Read a book every 2 days. 3. Learn a new programming language 4. Go …

Security settings for a LAMP Server : Iptables

Security is the major concern for anyone hosting a website on the internet. These are the preliminary security settings to be performed to protect your server. iptables Our server stack is LAMP. Hence iptables as the firewall is the most natural choice. The requirements are like 1. Block everything except Ping, SSH, Apache, and SSL. 2. Enabled SSH only from …

Apache Fix : NameVirtualHost *:80 has no VirtualHosts

I get this error every time I install apache web-server in an ubuntu machine. We use LAMP stack at Interviewstreet and this error was nagging me all the this while. The error message shows up something like this. root@interviewstreet:~# /etc/init.d/apache2 restart * Restarting web server apache2 apache2: Could not reliably determine the server’s fully qualified domain name, using interviewstreet.com for …

This is sweet :)

The other day, I was poking a few sites on the web lazily, looking how they’ve designed the CSS, HTML etc blah blah blah.. I take a quick look at the tumblr source code and find this in the header 🙂 #Like