Monday, December 15, 2014

Mastering Vim By Damian Conway

Being a fan of Vim, I had always tried to learn new tricks whenever I had time. Being able to enhance my skills to use the tool in a more efficient manner (Vim) was always a welcome bonus. Though the skill level to use vim would vary from person to person, the video covers a wide range of topics and I think would have something for everyone.  
The video starts with the help command and introduces how to use the help command in vim. This was informative, since you could learn once concept at a time by using vim help.    Then the video continues with the different features of vim ranging from search to visual block mode. It was interesting to learn about the different visual modes and how they differ. There were a wide range of concepts covered in the video and I would say the best way to learn them is do one video/feature at a time.

I did expect more of the advanced concepts of Vim like macros, etc - but that wasn't covered . Some of the concepts in the video was very interesting to learn like the undo time machine in Vim. I never knew Vim had such a complex but elegant undo mechanism.  I don't know if I will ever use the undo feature though.

Overall I was impressed by the video and still learned some concepts even though I use so much of vim everyday. The video describes the usage in a very articulate manner and it was easy to follow along. I am hoping to try to incorporate some of the concepts into my day to day activity and see how it helps. . 

Wednesday, October 22, 2014

OSCON 2014 Complete Video Compilation

I always wanted to attend OSCON, but never had a chance since it is usually in Portland. The video compilation provides a complete view of all the action missed, except the social interaction that you get in the conference. This video compilation provides hours of technical entertainment and the scope of topics are pretty wide. The quality of the talks were very good and the video coverage/audio is good.
Starting with the keynotes, I am going to list the talks that I liked and the ones I wouldn't recommend that much. Since the list of video is pretty extensive, I am sticking to a subset of the list. I will continue to update the list if I find some talks more interesting and worth mentioning.
The main keynote talk by Tim O'Reilly is very inspirational and well presented. Also the keynote talk by Shadaj Laddad was good - the talk was well presented and probably inspirational for younger kids wanting to program. 
Liked the business keynote talk by Simon Wardley about Introduction to Value chain mapping. The talk is funny and makes sense.

The Continuous delivery talk by Neil Ford was very informative and covers a lot of topic. Personally this talk was very useful for me, since I am trying to understand the various deployment models and trying to apply some of the models in my work place. Some of the concepts like feature toggle, etc I have been using all the while. But from a deployment perspective it makes sense on how feature toggle can be useful. Talks about various configuration management system with a focus on Puppet. Talks about Dockers and explain how it is used in deployments. 

Get started with Openstack a hands on tutorial provides a good introduction on Openstack and getting started with openstack as the title says. Most of the concepts are similar to Amazon EC2 and after working with a lot of EC2 instances and migration recently, this talk just provided me a good overview on how Openstack terminologies match with the way things work in Amazon. 

Mapbox: Building the future of open mapping by Justin Miller: Talks about various maps and how Mapbox works with opensource. Very good talk if you have worked with open street maps or any of the api like leaflet or anything to do with mapping. Also talks a lot about the book open source “Producing open source software by Karl Fogel” and how Map box uses some of the principles from the book. Talks about how github is used for collaboration. 

How disney built a modern cloud with open source: More generic, less technical. Talks about how to build, etc based on what user wants. I didn’t find it that interesting.
No More whiteboard hiring process by Austin Putman.
Don’t know how practical the methods are to implement, but provides a good view of how you could hire engineers. But one of the best interviews I had was where I was given a computer and was allowed to search, program on the spot,  to solve a particular problem. I do agree that hiring engineers through an intensive data structure/concept understanding drill or through puzzles is not the right approach that is followed by most companies like Google, Facebook, Amazon, etc. 

How to build your applications to scale in cloud by Steven Pousty
Good talk about Microservices and how you will scale from monolithic to micro services. Talks about PAAS and SAAS and why it makes sense to use Microservices on a PAAS model or otherwise and the advantages/disadvantage of a micro service. More high level talk about architecture but would make sense if you are building a new service or trying to break a big monolithic service.


Thursday, September 4, 2014

Programming JavaScript Applications by Eric Elliott; O'Reilly Media

I first heard about Eric Elliott from the Kickstarter page where there was a kickstarter project to raise money to teach a course on Javascript. I was very much expecting a lot from this book but I had to stop reading the book after a point when I realized this book was not for me.

The book started with some very basic information like how REST worked including details about HTTP protocol, best practices for programming with functions, etc which is probably useful for novice programmers and I found no use of it. I was hoping to find a more gradual introduction to advanced concepts of Javascript instead of the introduction in this book. I know the book referred to other books to get familiar with the more advanced topic of Javascript and may be my perspective would have been different if I had read those books. 

The code samples often jumped into concepts that was not spoken about, but eventually it got spoken about later. I had basic understanding of some of the advanced concepts of Javascript since I have used libraries like extJS, JQuery, etc. I was hoping this book would have helped me build my foundation to use the libraries better and to be a better javascript programmer, but I guess this was not the right book for that.

I would not recommend this book to anyone who has basic knowledge of Javascript and wants to just grasp the advanced concepts in an easy to understand way.  I would try to read this book again after I read some of the other books mentioned in the introduction and probably update my review.

Friday, June 24, 2011

Spam me!

Yeah I want your spam! Spam me at

The more spam I get - the happier I will be. I am not a honeypot, but rather I will look at your spam and read it! Just kidding ;) - i am in search of getting more spam in to my mailbox to see the effectiveness of our spam filter and test other components that I work on!

If anyone knows any way of spamming yourself I will be happy to hear about it!

Monday, May 9, 2011

Google IO 2011

I will be going to Google IO 2011 and I am pretty excited about it!

Monday, December 22, 2008

Best wireless router which can be flashed with Linux

Two years earlier if I had thought about buying a router that can be easily flashed with a Linux distribution (ddwrt, openwrt, etc) - I would have blindly bought Linksys WRT54GL the router of choice for open source enthusiasts and hobbyists. Two years and nothing much has changed.
There are a few better versions of WRT54GL but they are hard to find and I would prefer them if I can find them :).

There are now more routers and more confusing standards - but none of them seem to have good reviews and the right hardware for flashing it with ddwrt or openwrt. Some of the netgear model claims open source support - but mostly has bad reviews and I stayed away from them. Linksys has so many models to choose from and choosing the right one that can be flashed was a long process. Each model has different versions and only the older versions of the model has more Flash and more RAM which is ideal for ddwrt or anything else - so if you get them (mostly used ones through ebay or elsewhere) - you can build a more powerful wireless router than the WRT 54GL.
I also wanted to try out the 300+ N series (300N, 310N, etc, and the 350N with the fastest processor in low end linksys models) but almost all them had bad reviews in most websites mostly with the default firmware - there were one or two reviews with ddwrt and looked good. OpenWrt description of 300N series was very promising to me with Redboot as the boot loader and seeing your Linux boot from the scratch. I really wanted to check it out. I have worked with Redboot and the Intel XScale processors which has a separate processor for encryption. It is usually useful when you want to use VPN's and leverage the encryption hardware of the XScale. New 300+N routers costed atleast $85 and the advantages were

  1. better range
  2. newer n standard with higher speeds
  3. more ram and flash memory
  4. Better processor

no. 3 and no.4 was the most tempting of all. I am not even sure if no.1 and no.2 are true - some reviews said that the speed was worse than g and range was almost similar or worse. I would wait for some more time for the n standard to take off and the prices to come down. Till then I am happy with 54GL and hoping to see more powerful routers which can run Linux.

Source: Wikipedia - (

Tuesday, November 13, 2007

Using Cosmo (Chandlerserver) as a Git Server

I wanted my local Git to be updated to a server and came up across Git on Dreamhost. A nice link which talks on how Dreamhost with WebDAV can be used as a git remote repository. So any WebDAV server should work. I thought I will use Cosmo to host itself - A really cool idea! I have never used Cosmo for anything other than calendars or address book (which I worked on :) ) and had to dig the documentation to find the way to create a collection. I used Cadaver client to create the collection

# sudo port install cadaver


dav:/cosmo/dav/vinu> ls
dav:/cosmo/dav/vinu> MKCOL git

In Mac OS X Tiger I used finder to connect to the server. I entered the URL as - entered the username, password and it mounted :). But when I tried to put any file on this server it failed :(. After hanging out in IRC for some time I figured out Cosmo (Chandlerserver) does not implement locking yet and Mac OS X Finder expects the server to implement locking :(. I tried searching for a client like finder - but none of them had a way to put a complete folder into the collection.

I tried to copy the git repository using a Windows XP desktop I had - I created a web folder with the url I then copied my bare git repository from my Mac to Windows and from there to the webdav server (Cosmo). It partially failed with a message saying some files could not be copied :(