It had taken a lot of convincing for him to take the two hour flight. He had deliberated a lot on facing his fear. As the plane sped across the runway, he closed his eyes, and muttered something under his breath. They were in the air. He had taken the aisle seat, as he did not want to look out the window. Even as the plane attained cruise speed, he was still uneasy. Every time there was an announcement, he shifted slightly in his seat, scared that something bad was going to happen. Sensing his discomfort, a fellow passenger tried comforting him. Then the turbulence hit. He was regretting his decision to fly, when he could have taken a train. At that moment, the pilot announced that they would be landing soon. That sparked him to life. He now had hope that he would be able to set feet on the ground once again. As the plane touched the tarmac, he knew he had made it. Nearly a decade after that horrible day, he had conquered his fear. He had won.


The Fix

It was an addiction. His friends kept telling him that it would destroy his life. He just didn’t pay heed to their rational advice. He needed his fix the first thing in the morning, before going to work. Even while working, his mind wandered in that direction. He was prone to lapses in concentration. He was suffering. He was not able to take control of his life. He knew he had to do something, before it was too late.

Feeling determined, he decided to do the one thing that was necessary – To click on the blue button which read ‘Deactivate Account’.


The fighting was intense. Both sides were giving it all they had. The dead were strewn across the field. It had not been a long battle, but both sides had suffered heavy casualties. Looking from a distance, one of the Kings discussed strategies with his trusted advisors. A devilishly cunning plan was born. The king commanded his heroic knight to lure and engage the chariot, who was protecting the enemy king. The valiant knight obeyed his king and challenged the enemy charioteer. It was a mismatched battle. The king knew from the beginning that he was sending his brave knight to his death. But this is war, and there is no room for sentiment. While his knight was getting slaughtered, he ordered his general to slay the now unprotected enemy king. As the crown fell from the slain king, the battle was won.

Nobody wept for the knight. There were no songs to be written for him. A handshake…that was it.


The landing crafts were very close to the beach. He looked around. His brothers were dead scared. One of them was saying a quiet prayer. A mortal shell landed on the landing boat next to them, which exploded. This was the moment they had prepared for, and had been dreading in equal measure. The gates opened, and instantly they were under heavy fire. He immediately realized that they were heading into a bloodbath. He knew he had to move quickly. He ran. He could see logs in the shape of X’s strewn apart and ran to take momentary shelter. That was the key: to run towards the nearest logs and hope you don’t get hit. He had been hit once on the thigh. So he called out for a medic, for first aid. While he was getting aid, he looked around, and the sight was gruesome. So many of his company had succumbed trying to dodge the firing from the cliffs. He was quite close to the cliff. His captain fired the bangalores and clearing the shingles that kept them from entering the enemy territory. They stormed inside. They were in a minefield. He saw some soldiers getting blown up. There was heavy artillery fire. He took out his Springfield rifle, and took out the MG-42 gunners. The path to the battlements was clear. His brave band of brothers entered the battlements and prepared for the final assault to reclaim the beach.

After a 100 failed attempts, the boy heaved a sigh of relief, as he saw the message ‘Mission Completed’ on his screen.


He had truly discovered hell. It was just like another cold, chilly November day. He had decided to seek solitude in the nearby park. It was a fine place to escape the cacophony that plagued the city that week. He had just laid his head down on the cool grass when it happened. It was a group of 4 people who pounced on him. They were obviously drunk, for no ‘human’ would be capable of doing something like that. It burned. It burned bad. There was nothing he could do to escape it. He ran to find a pool of water, which would ease the pain. Gunshots, followed by searing pain. All he could do was run. When he thought it could not get worse, a blinding pain shot through his ears. It was nothing like he had experienced before. He knew he was going to die. It was time to make his peace. He stopped running, curled up on the side. As his eyes closed, he had one last look at the colorful sky, with pink and green streaks all across the horizon. It looked beautiful.


Disaster had struck that year. A major injury had bed-ridden him for months. The dream of landing a place at the football club he supported had been shattered. Words could not explain his feelings of anguish. His “friends” at the academy had deserted him, glad that an obstacle to their prospective careers was removed.
He had but one faithful friend – the furry creature by his side. Buster became the friend the boy craved for. He watched him struggle with his feeling of failure. He listened to his ramblings about how cruel the world was. However, the one thing Buster could not do was to speak words of comfort – to tell the boy that things would ultimately work out in the end.

Years later, while cleaning the closet, an old woman happened upon the ‘furry creature’. She had not seen Buster since that terrible night. A tear glistened in her eye. Overcome with grief, she hurriedly shut the closet.
Buster wanted to tell her so much, to provide closure. But once again, he failed.

NoFlo and Angular.js

I have been procrastinating about this post for almost a month. Over that period, I have tinkered around with NoFlo and Angular.js. Earlier, I was creating components for Node-red at my workplace. However, as it is more inclined towards the Internet of Things, whereas NoFlo is more oriented towards Web applications, we started some work on NoFlo.

NoFlo is exponentially harder to use than Node-red. It is divided into so many components, that it gets really confusing to someone who has never worked on it. Moreover, as components are developed in CoffeeScript, I had to actually learn the language before starting my work.

CoffeeScript makes a lot of stuff easier by exposing the parts of JavaScript, while trying to take out the bad. I really liked some of the syntactic sugar in CoffeeScript. However scoping is a major major problem in CoffeeScript, something which it actually tries to address. If you are not careful with the scope, major errors will creep in, which can cause nightmares.

Comparing NoFlo to Node-red wasn’t really easy. I really liked both the frameworks, but there are some things which stood out for both the frameworks:

1.) The NoFlo developers are super accessible. I used to get in touch with them on IRC, and they were interested in what we were trying to do. They gave suggestions, pointed us to the right stuff so we could solve our problems. In one particular instance, when my component was not working, they even submitted a pull request to fix our code. Now that was really impressive.

2.) Complexity wise, Node-red takes the cake. Not only do you write code in plain old JavaScript (and jQuery), it is much easier to get someone up and running. NoFlo has it’s own architecture, components, and even a Domain Specific Language to write your graphs (though not terribly complex, it will put off many people). The flow editor of Node-red is pretty easy to use as well, whereas NoFlo’s editor (FlowHub) is not that straightforward to understand. It took me a long time to get comfortable with the FlowHub editor.

Overall, it was fun learning about Flow Based Programming, and getting to use these frameworks.

My next task involved learning Angular.js for an IDE we are developing at the university. I took some online tutorials and read some books to get comfortable with the architecture and nitty gritties of an Angular app. I was pretty impressed with the framework, as it makes a lot of stuff simple. Previously I used jQuery a lot and most of the times I used to do a lot of hacky DOM manipulations to get my work done. Angular gives a lot of structure to the code if designed properly and makes it more readable, maintainable, and testable. I experimented with writing unit tests and E2E tests using an array of tools like Karma, Jasmine and Protractor. This was my first experience with writing unit tests and I plan to write them in my future work as well.

Overall, this last month has been great for learning. I have settled well into grad school and I am learning stuff every day. A great experience so far. Until next time 😉

Experiences with Node-RED

Over the past few weeks, I have been tinkering with Node-RED, in my workplace at the University. It is a great framework for quickly wiring up (literally) components in a flow based model and getting applications up and running. It brings the power of Node.js to a Flow Based Programming (FBP) paradigm. With FBP, you get black boxes, which you connect together to form your application.

My work has involved creating custom nodes for JSON sanitization and writing to an OpenLDAP instance. So far, it has been a great experience working with the framework.

The Good:
1.) The Node-RED workflow is great. It is quite easy to create a workflow, create subflows and wire components around. It is quite straightforward to understand, and it took me all of 10 minutes to get up and running and start playing around the framework.

2.) Developing a custom node is quite easy, and is well documented. It just takes basic HTML, JavaScript and some node.js knowledge to have a working node ready. There are some quirks, but overall it was a pleasant experience.

3.) Being based on Node.js gives access to the vast NPM repository. So, a lot of components are readily available for use. I found a module which provides a ready API to read/write to LDAP. I just wrapped it around the required HTML interface and it worked just fine.

4.) It is pretty easy to embed a Node-RED flow in an existing application, and the usage at university makes good use of this.

The Bad:

1.) Node-RED is poorly documented in many ways. To find common stuff such as unit testing is a pain. The documentation does not cover everything in vast detail (though it is enough to get you up and running). However this is made up by quite an active mailing list. Most of my queries were solved there.

2.) Debugging a custom node is not very easy. There are tools like node-inspector, but this has proved a little unreliable for me, often hanging up my system.

Sticking with FBP, I will be looking into NoFlo, which is responsible for the resurgence of FBP (and because of which many people know about FBP). More to follow 🙂

Cats and funny band-aids



This has got to be one of the funniest incidents in a long long time, and in reminiscence, it will always bring a smile to my face. I have a known fascination with cats (though am a dog person), despite the occasional run in with them. I had a sort of a pet during my undergraduate course, where a cat camped in one of the cartons I used to use for storage, occasionally startling me by climbing on top of me when I was working on my laptop. I find them enigmatic – deep, brooding creatures. You never know what they may be thinking. Their actions do not make sense, and this particular incident exemplifies that.

The Devil!

I was outside talking on the phone, when this cat comes out of nowhere and starts following me. I start to pet it, and take pictures with it (it was not that interested, and kept avoiding the camera). A few pictures later, it is on it’s back, inviting me to come and pet it. Now, if you have read Oatmeal’s How to Pet a Kitty, you know exactly what to do, and what not to do. You especially don’t do Point No 4. I did exactly that, and the kitty took a swipe at me. Result: Scratched Hand.

What does the cat do after scratching me? Get back to business and inviting me to pet it again 😀

Though the scratch was pretty shallow, I was advised to show to the doctor, and off I went. The doc took one look at it, and gave me a band aid to put on. According to her, cats love to scratch their humans, she being a constant victim of those vicious claws. The band aid she gave me had me in splits: ‘Taz’ mocking me for getting scratched by a cat, and going to see the doc for it. 😀

Taz band aid

Time to take a revision course in petting kitties 😉

A New Challenge

So after two years of working at an IT Major, it is time for a new challenge. For the next two years, I will be pursuing a graduate course in Computer Science at CU Boulder. A Master’s course has been in the pipeline for the past two years, and has now come to fruition. It is a new challenge, as it will enable me to specialize in advanced courses of computer science. Moreover, as this is my first time in the US, it brings its own set of challenges. New place, new environment, new culture. I am quite excited to get the opportunity to study in the US, and I am sure it will help me a lot in pursuing my career goals. More to follow 🙂