Search This Blog

September 15, 2014

Prune Run Configuration Meta-data in Eclipse

Sometimes Eclipse IDE fails to clear or prune stale meta-data. One such instance that you'd come across is the stale run configuration for an (Android) application.

September 3, 2014

Batch convert media files using ffmpeg and ruby

So you have those old videos taken in your handy-cam that you'd want to convert to mp4 for better compatibility across devices and less storage footprint? And you want to batch convert all these videos?

September 1, 2014

Automate title metadata tag to its file name

Don't see media titles in your playlist of your media player. Chances are the title meta-data isn't set for those files. This blog post is a recipe to fix this situation, assuming you're a developer :)

A Story - Humility is not weakness

One day during his visit to London, King Jai Singh was walking in a casual dress in Bond Street. He saw a Rolls Royce showroom and went inside to inquire about the Price and Features etc of their cars.

August 18, 2014

Start-Stop MongoDB Server in Mac

Mac's System Preference => MongoDB Preference Pane
Are you one of those who find it a pain to start/stop MongoDB server from the command line or perhaps looking for a better alternative or in particular wish you do it through a UI? And are you a Mac user?

August 17, 2014

What is Object-Oriented Programming?

I haven't seen a better explanation about OOP till date than the one given by a guy who never had any formal engineering training but always had clear idea about everything he did and preached, be it technology,design or art.

Here, in an excerpt from a 1994 Rolling Stone interview, Jobs explains what object-oriented programming is.

August 13, 2014

Supervise your node app in development

It's such a pain during the development of node.js apps that we often forget to restart our app after the changes are made in the source code of the app. And even if we are diligent enough to remember and restart the node server after every change, it is still a pain.

August 9, 2014

Express 3.x - Web-app framework without Web-server

This image is not the logo of ExpressJS
Looks like with Express 3.x the code is more modularised. Express framework is now a web framework devoid of web server functionality.

For the sake for simplicity and clarity by comparison, check the code pre and post Express 3.x version, all by yourself. I believe the code is self-explanatory.

And I should say, I like Express 3.x this way - loose coupling.

August 8, 2014

Convenience of Ruby's Readline

What API do you use to get input from terminal for a CLI app - use the combination of gets and chomp in ruby? That is okay. But didn't feel some pain trying to input again (and again?) in case of any input typo/error? Didn't you wish the CLI-app in ruby mimic the completion feature or the history feature as in the terminal?

August 6, 2014

Debugging Shebang

Coding is eternal fun and learning exercise. Take the case of an example code snippet below that I tried to run like $ ./debugging_shebang.rb in the command line and it threw an error like -bash: puts: command not found

May 30, 2014

When to freeze, clone or dup in Ruby?

I try out expressing my intent in different forms to see what works effective. This time around, I'd like to story tell the code as if it's evolving over a pair-programming session. I'd appreciate your constructive feedback.

Warning the examples in story you're about to read might be super contrived and redundant. I'm merely trying the story-telling way to explain concepts with examples in the hope that you get near first-hand experience of pair-coding and experience learning. Chew on the concept leaving the contrived examples and story behind :P

May 29, 2014

Exploiting tap in Ruby

The instance method tap is available as part of Object class from Ruby 1.9.x onwards. Rubyists exploit it to different use cases for fun and fashion. This blog post is to share my thoughts on what I think tap is best for.

May 28, 2014

Require versus Load in Ruby

The big difference

  • While you load a file, you require a feature
  • Every time you load, you load a file into memory. On the other hand, every time you require you is if it has already been required to avoid repetition
  • require is more abstract an API than load. So typically for you're day to day use, you'd require not load.
  • Because you load a file, the load method takes the input argument having file extension. The file extension is excluded in the case of require method.

March 31, 2014

Applying Agile Practices To Manufacturing And Others

Joe Justice applies current software development principles from Lean and Agile (XP and Scrum) to manufacture, achieving extraordinary results in designing a high efficiency and high performance automobile.

March 30, 2014

Lessons from Mark Zuckerberg at Startup School 2013

Mark Zuckerberg gave a very candid and open interview at Startup School 2013. I liked it so much that I wanted to scribble some points from the talk. And this blog post is a bulleted list of lessons I learned from Mark.

Which is the best Agile Project Management Tool?

Are you one of those trying to figuring out the best Agile Project Management Tool out there in the market?

I see this question being asked in some for or the other, from time to time, in every forum, in every country. And this blog post is dedicated to them.

March 12, 2014

Steps in contributing to an open-source project in Github

Often times we find it compelling to contribute to someone else's project, either because you added a new feature to it or fixed an existing bug. This way you feel proud that you're giving back to the community project that helped you from re-inventing the wheel.

Git/Github has simplified and made intuitive the entire process of code contributions to other's repositories.

March 10, 2014

Still using .rvmrc??

.rvmrc is a shell script that allows for full customization of the environment for the Ruby project in subject.

February 22, 2014

PMI-Chennai Knowledge Sharing Session (KSS)

I've got the privilege to be invited to talk about "Agile Smells" at Project Management Institute's (PMI) Knowledge Sharing Session (KSS), Chennai edition.

I'm leaving for the conference venue now and will update the post with the details once I'm back. Stay tuned..
Ok..I'm back with some updates.

February 14, 2014

Top Two Agile Adoption Issues

Is the agile adoption failing you? Are you skeptical of the transformation process that you have undergone? Is the board room meetings all about figuring out issues with agile adoption and transformation programs? Chances are you are right. This blog post is aimed to help you introspect and figure out what is it that you've given amiss or have overlooked.

February 7, 2014

"this" operator in JavaScript

This blog post is my notes on "this" in Javascript, which is largely and shamelessly reproduced from Daniel Trebbien's answer in StackOverflow. (Thank you Daniel, you made my day!)

The ECMAScript Standard defines this as a keyword that "evaluates to the value of the ThisBinding of the current execution context".

And, ThisBinding is something that the JavaScript interpreter maintains as it evaluates JavaScript code, like a special CPU register which holds a reference to an object. The interpreter updates the ThisBinding whenever establishing an execution context in one of following cases:

February 6, 2014

Understanding call and apply in Javascript by example

In Javascript, call(..) and apply(..) does the same thing, just that the way each takes input feed is different. All Javascript Function objects have these methods at their disposal.

February 5, 2014

The CSS Box Model

If you've been struggling with positioning and alignment of contents in a predictable manner, especially in a web page that you working on is responsive, the first check is to figure out if you understand how the full element dimensions are computed. Well, there are other things to check as well, but this blog post is focussed on that basic thing that you should have know - the CSS2 thingy.

Positioning with CSS

The positioning of UI elements has always been a little tricky thing. If this is you, then this blog post is for you to get out of this situation (hopefully!).

This blog post explains through examples the implications of using different CSS values for the CSS property - position.

Note that this property applies to all elements. And margin is applied after the position offsets.

Also note that elements usually can be positioned using the top | bottom | left | right properties, that work differently depending on the positioning method mentioned below. And these properties will not work unless the position property is set first.

Syntax positionstaticfixed | absoluterelative

January 31, 2014

Love is blind and so is anger

For the curious this is a poem that I had written, perhaps a decade ago for some college competition. Luckily, I stumbled on that very paper on which I wrote this poem. Just make sure I don't loose my work, I'm now filing it in my blog.

Like a western story telling style, I leave the plot of the poem to the good imagination of the readers.

January 30, 2014

Sweet Interaction Design in Github

Github is one fantastic example of simple and sweet user experience design. Its fascinating that they constantly take strides to make user experience better and even better.

Let me run you through an example to see how they make a mark in what they do.

(Almost) Everything I need to know about sleep

This blog post is a note to self so that I can read and re-read it to help me get on track.

It is said that man spends anywhere between 20%-40% of his lifetime, sleeping. Now that is a lot and is it required? A big yes. It is during sleep that the body does all the maintenance activities to keep one hale and healthy.

January 19, 2014

Conference: Dev Day 2013, Colombo, Sri Lanka

I had the good opportunity to deliver a talk in Dev Day 2013, Colombo, Sri Lanka. What was more interesting is the fact that there were many opportunities in the form of surprises resulting in a lot of learning. So I played the roles of an audience member, a speaker, guest interviewee, and finally an interviewer. I can't ask for more, can I??

Conference: JSConf 2013, US - Javascript Masterclass by Angelina Fabbro

I stumbled on this talk by Angelina Fabbro on Javascript Master class in JSConf US, 2013 which to me is very enlightening. Her talk is about becoming an expert as an intermediate (Javascript) developer.

Angelina Fabbro is a programmer based in Vancouver, Canada and works at Steamclock Software. Angelina has a background in cognitive science, building clever robots and researching what people pay attention to. Her record as a web developer is balanced with modern iOS experience and a keen sense of design. Angelina also both teaches and mentors for the Vancouver chapter of Ladies Learning Code.

January 12, 2014

Schooling and Learning

Our (Indian) educational system is terribly pathetic. It pains. It hurts. Because the foundation is so bad, there is no wonder that we see a ton of problems unsolved to say the least.

Parents send their kids to school not with the goal of enhancing the kids knowledge through education and learning. They do so because they want their kids to participate in the race of discrimination very early on in life, hoping it would prepare them to land in cosy jobs. Tell them that what they do is wrong, they instantly hit back citing the corporate advertisements or job boards. Heck, it's a vicious circle that nobody wants to break.

January 1, 2014

Lessons from Steve Jobs by Guy Kawasaki

Guy Kawasaki shares his top 12 lessons that he learnt from Steve Jobs as below:
  1. "Experts" are clueless
  2. Customers cannot tell you what they want
  3. Action is on the next curve
  4. Big challenges beget the best work
  5. Design counts
  6. Use big graphics and big fonts
  7. Changing your mind is a sign of intelligence
  8. Value is not equal to Price
  9. "A" players hire "A+" players
  10. Real CEOs demo
  11. Real entrepreneurs ship
  12. Marketing = Unique Value