How to make a decision

Remembering that I’ll be dead soon is the most important tool I’ve ever encountered to help me make the big choices in life. Because almost everything — all external expectations, all pride, all fear of embarrassment or failure — these things just fall away in the face of death, leaving only what is truly important. Remembering that you are going to die is the best way I know to avoid the trap of thinking you have something to lose. You are already naked. There is no reason not to follow your heart.- Steve Jobs

How I am contributing to rubinius

I decided to contribute to rubinius over writing a rails application in order to improving my programming-fu. The choice was made after repeatedly asking the question on irc; “should I contribute to rubinius or write rails app since I have 6 months before my MSc programme is over”. Naturally I got different answers, but the one that helped me make this choice was from dbussink on irc. He said something on the lines of, “would you rather be known as a rubinius contributor or another rails programmer?”, that question helped me decide, so thanks again dbussink.

Rubinius is a large project and can be very overwhelming to dig into, however thanks to the team, they have written up a guide on different methods to contribute which can be found on the site’s contribute page.

For me, I chose to contribute by following the rubinius Coding Style Guide. Using this method, I go into as many *.rb files as I can and ensure that the coding style adheres to the guide. My first pull request using this method was adding a trailing new line to each file under the kernel/platform/ folder and it got merged, yay! Here’s a link to my contributions.

This has given me good feedback and more momentum to keep on contributing, so go on, start small and contribute to your choice of open source project.

SOLID – An Introduction

The SOLID principles are a set of object oriented design principles put together by Uncle “Bob” Martin which help in building more stable and flexible software systems. The SOLID acronym stands for;

  • S – Single Responsibility Principle
  • O – Open Closed Principle
  • L – Liskov Substitution Principle
  • I – Interface Segregation Principle
  • D – Dependency Inversion Principle

Vertical split two files in gvim

These sites were useful.

:e filename – Edit a file in a new buffer
:bnext (or :bn) – go to next buffer
:bprev (of :bp) – go to previous buffer
:bd – delete a buffer (close a file)
:sp filename – Open a file in a new buffer and split window
ctrl+ws – Split windows
ctrl+ww – switch between windows
ctrl+wq – Quit a window
ctrl+wv – Split windows vertically