Hai Lin Replicate Everything

Books I read in 2016

This is not a book review, just a summary of my personal opinions of book I read in 2016.

Big Data Principles and best practices of scalable realtime data systems

This is a great book about Lambda Architecture, the author of the book is also the creator of Aapche Storm and Cascalog. Half of the book is about high level abstraction of Lamda Architecture(like why and when you should implement such system), and the other half is example of how to implement Landa Architecture in Storm and Cascalog. I would recommend this book to those who at least have some experiences in big data. You can pick only the part you are interested in, like you can completetly skip Storm or Cascalog if you are try to implement Landa Architechture in other tools. I personally like the strucutre of this book, it provides options to the readers of how much details you want to get into.

Advance Analytics with Spark

I feel this is the perfect book for a software engineer to getting start with Apache Spark , and maybe one of the best Spark book on the market right now. It’s not a big book, it only got 260 pages but it covers enough details for building a simple data pipeline with Spark. It’s a also a good book to keep as a reference, it got tables of different RDD operations which I found extreamly usefule if you are woking with Spark a lot.

The Well-Grounded Java Developer

I got this book about two years ago, and didn’t have a chance to fininsh it until recently. There are so many java books out there, and most of them are oudated. This one is forced on ‘new’ feature from Java7, and like its title, it’s fairly Well-Gournded. It covers the latest development of Java language such as new language features, what’s new in compiler and some popular libraris and frameworks. Personally I found it’s really hard to fininsh a book about a specific language. Like Thinking in Java is a great Java book, but it also gives you tons of details that you are not sure if you will need all of them. And becuase of those language details, fininshing such a book is kinda time consuming. For this book, it goes a bit deeper than other Java books, which make it a bit more interesting to read. It’s not the go-to Java book for first timers, it’s more for those know Java but didn’t touch it since Java6.

The art of monitoring

This is a very detailed/tutorial like book for building a mointor system. It’s a perfect book if you are the first devop to build the mointor system in your company. When I first bought the book, I was looking for something higher level about how to mointor a distrubuted system. It comes with a lot of details of how to deployment different kinds of mointoring tools like Riemann, Graphite and Grafana. I would recommend this book to those are new to devop world.

Vi and janus

CLI

One of the biggest advantages of Vi is it can run with (MacVim, GVim) or without a GUI, which matters a lot when you ssh into a remote machine. The other good thing about Vi is that it kind of guaranteed that you can find Vi on almost all *unix like OS. Combining these two factors, Vi is the perfect tool when you ssh into a unknown remote machine just to modify a single line of a file. If you don’t know a CLI editor which pre-installed on almost all *unix system, you might end up with scp or X11 forwarding which normally is a painful experience.

Key bindings

Been using Vi heavily (basically for everything if possible), now I can’t really use a text editor if I can’t use j k to move up and down. Vi is the text editor for people so lazy to even move their fingers to the control key. Vi can be super powerful, but those power comes from the simplest design. It is a tool super optimize for jumping between lines and blocks with the smallest distance of finger movement on the keyboard. It allows you to type in a super fast way without even thinking about it. I can type or edit much faster and better if I learn a little bit of Vi. So, why not?

Configuration

I use Vi for almost everything. For people like me, it is very likely for us to install tons of Vi plug-ins to turn Vi into a IDE like full featured super powerful text editor. I used to spend all day watching podcasts on Vim cast and tried to search/install a fancy plug-in. Until one day I find I got a tons of configuration/plug-ins, and it is hard to setup everything perfectly I already have on a new environment ( new laptop, new VM). There are some tool that help you manager all you Vi plug-ins like vundle and pathogen. Even so, I begin to miss those days that I only have to keep a simple RC file to config my personal key mapping. Then, I found Janus.

Janus, A Vim distribution

Janus is a convention over configuration like Vi distribution package. It goes with some very popular Vi plug-ins, color-themes and key bindings. Janus have a .vimrc.before and .vimrc.after files which allow you to put you own configuration before or after it got install. It’s a open source project hosted on GitHub, and now it got over 4000 stars, which means it won’t disappear in a week. Janus also provided a one line script installation, so you can move all the good things to any machine with a Internet connection in 5 minutes. You don’t worry about updating plug-ins, color themes, and put a huge configuration files on a host any more. I know there are a bunch of people enjoy spending times on configuration their text editors. I used to be one of them, but now I realizes that Vi is one of the fastest, simplest text editor. So keep it simple, light weighted as it should be.