My Writings. My Thoughts.
Kotak Mahindra Bank – Epic Fail – Part 2
// April 4th, 2011 // 3 Comments » // Fail
You might have read my previous article – Kotak Mahindra Bank – Epik Fail about my misfortune that my company had to go with Kotak Mahindra Bank for providing Salary accounts. Today I will list out another reason why Kotak Mahindra Bank not only sucks but is the employees worst nightmare when it comes to having a salary account with them.
Apparently at Kotak Mahindra Bank, the salary transactions for employees of a company (at least a small company like ours) are carried out manually (yes, you heard me right, manually!). Now you know what that means, that means that if it is a Bank Holiday, or a weekend, or a World Cup Final, or if your badass luck isn’t already bad enough that their employees are on sick leave, you won’t get salary!!! Yes, that’s right, forget salary for as long as it takes, you will have to call them, go to their bank and ask them time and again before the salary is actually credited, which could easily be at least a week long effort, and they will give you reasons like it was a holiday saaar, their staff was on sick leave saaar, it was the world cup final saaar…
It is 4th April today and no I haven’t received salary, for most of the reasons stated above. It might happen tomorrow, or maybe day after tomorrow, who knows ?
All you can do is pull your hair and curse them on the top of your voice making yourself look like a lunatic. I am not sure how long I can take this shit from them. It is now an undeniable & undisputed fact that Kotak Mahindra Bank is the most ridiculously worthless piece of shit of a bank there ever could possibly be, and worse.
At Kotak Mahindra Bank every day is an April Fool’s Day, for their customers. Sometimes there is money, sometimes there isn’t, keep guessing!
PS: To Kotak Mahindra Bank employees, if you are reading this, don’t even think about commenting on my blog.
Getting started with Ruby – TOC
// December 24th, 2010 // 1 Comment » // Ruby
Hi,
I have written a series of articles (in several parts) in an attempt to guide beginners to get comfortable with Ruby. This article is my attempt to build a TOC (Table of Contents) for it to act as an index for people to get a brief idea regarding what each article is about and help them get to the sections they are interested in.
MongoMapper Plugin – Versionable
// December 2nd, 2010 // No Comments » // MongoMapper
There was a requirement at one of our projects here at Artha42 Innovations Private Limited that our Mongo Mapper documents have inherent versioning so as to be able to track the changes being made and also if required revert the changes to a previous state. Since we’re using MongoMapper, I set out to create a simple plugin for the same to add the required functionality.
Initially, from the initial research I did, I found Shapado had an implementation of exactly what I wanted, however when I studied and understood their implementation in detail, I realized that it doesn’t really work that well in most scenarios, especially the ones we were tackling in our project. Shapado’s versionable allows you to define a set of keys for a document, whose changes would trigger creation of new versions. However in our project we needed to track changes at the complete document level, i.e. even for changes in the associations. Also the versions were embedded within the document itself, which implied that the document would grow in size very rapidly, even though our changes in each iteration could be minor, since each version would literally be a snapshot of the complete document itself.
So we made quite a few design changes in the same, externalized the versions, changed the way one would enable versioning since in our case we wouldn’t be keeping track of changes only in specific keys. Even here, we found that there were certain bottlenecks in the case if there were a whole lot of versions, for which we introduced the :limit feature which allows us to define how many of versions would need to be loaded instead of loading all of them at once.
The result of it was mm-versionable.
If you have any comments, suggestions, requests, queries or feedback, please do let us know in the comments section below.
Calculating Hashes
// November 25th, 2010 // No Comments » // Programming
In my old blog, 2 of the popular posts were about calculating MD5, SHA-1, SHA-256, SHA-384, SHA-512 hashes in Java and C#, I am still getting a little traffic from diggs of those posts :). So today I decided to post it again, and since I am now a fan of Ruby, i’ll also added that in.
Kotak Mahindra Bank – Epic Fail
// November 4th, 2010 // 5 Comments » // Fail
I will now narrate 2 separate events that have happened with me, within the 2 months of my having a savings account with Kotak Mahindra Bank, which to me are both EPIC Failures!
Getting started with Ruby – Part 6 – Example Problem
// November 3rd, 2010 // No Comments » // Ruby
After having covered most of the basics of Ruby, lets get started on an actual problem, just like I had promised in my previous article – Getting started with Ruby – Part 5
Getting started with Ruby – Part 5 – Ruby Loops
// October 26th, 2010 // 3 Comments » // Ruby
Hi in my previous article Getting started with Ruby – Part 4 I covered Hashes & blocks. Today I will take you through the various forms of loops in Ruby.
Getting started with Ruby – Part 4 – Hashes & Blocks
// October 23rd, 2010 // 5 Comments » // Ruby
In my previous article Getting started with Ruby – Part 3 I started with Collections and covered basics of Ranges & Arrays. Like I mentioned towards the end of the article (in case you couldn’t manage to reach the end) I will start with one of the most commonly used Collection objects in Ruby, namely Hashes.
Hashes are essentially data structures to store key – value pairs, when you wish to store an element in the Hash you do so by assigning a unique key to it within the hash and while retrieving you do so with the help of that unique key. The beauty of hashes is the fact that the ‘key’ in question here could be just about any object in Ruby, most commonly however in practice strings or symbols (i’ll get to what these are soon) are used as keys.
Getting started with Ruby – Part 3 – Collections, Ranges & Arrays
// October 21st, 2010 // 5 Comments » // Ruby
In my previous article Getting started with Ruby – Part 2 I introduced you all to Ruby & its philosophy and I started out with data type classes in Ruby. I was able to give you an overview about Strings & Numbers in ruby. Today I will start with Collections.
Continue Reading
Getting started with Ruby – Part 2 – Introduction & Philosophy
// October 19th, 2010 // 5 Comments » // Ruby
Hi again, this is part 2 of my series of articles to help beginners getting started with the Ruby programming language. At this point of time I would like to quote the definition of Ruby from the Ruby-Lang official website.
A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.
I know I had already quoted Ruby’s definition from wikipedia in my previous article ‘Getting started with Ruby – Part 1‘, but that was more of a technical definition. Here I wanted to draw your attention to Yukihiro Matsumoto‘s, popularly known as Matz’s philosophy behind creating Ruby, which is making programming as simple & natural as humanely possible. We will be witnessing that very soon.
NOTE : Before diving into programming, I would like to bring to your notice the fact that most of the information that I will be sharing here in my articles, would be my interpretation of publicly available information, and based on my experiences, I will try to be as expressive as possible, however I can make mistakes and would appreciate your help in pointing out the same if I do. All my examples have been ran and tested on Ruby 1.9.2-p0.


