Loading... Born a day after the American Independence in Jalandhar, Punjab, India, I've spent most part of my life there. Studied till 5th standard in St. Joseph's Convent School, Jalandhar, and later had to join Apeejay School, Jalandhar as, perhaps, the former school decided boys could be troublesome in a girls' school after 5th. After completing schooling in APJ (till 12th), joined National Institute of Technology [NITJ] (again, in Jalandhar) as a Computer Science & Engineering student in 2005. During the worst period of downtime (recession), got an on-campus placement in Accenture in 2008. Graduating from college took another year after that, and finally joined Accenture in mid-2009. This is my story so far... Btw, you can find me on: google+, twitter last.fm github librarything granular steam
@AnuragBhandari twitter updates
Tech enthusiast, open source evangelist, book worm, software developer, sports fan, passionate gamer, movie buff.
Jul 12

Nothing beats Sencha Touch when it comes to sheer number of options and versatility in developing for the mobile. ST has truly set the benchmark of mobile development done right with each major release. It has a vibrant user community, and a robust enterprise adoption. But, sadly, although the documentation is good, it sometimes feels a bit incomplete. If it weren’t for stackoverflow and ST’s official forums, it would have been difficult for me to complete some aspects of my recent mobile app project. Coming to the point…

ST recently announced the much awaited grid feature . They call it Touch Grid. On the surface, it looks super-customizable (just like everything else ST) and enterprise-ready. In short, it’s just what everyone was waiting for. Unfortunately, it is not available for free. Touch Grid comes as part of the Sencha Touch Bundle, something only suited to the enterprise due to its staggering $695 cost.

A couple of months ago, I was looking for something like Touch Grid for my app. The exorbitant pricing of ST Bundle compelled me to look for free alternatives. That was when I found Ext.ux.touch.grid. Its last release was well over a year ago now, and was tested with ST 2.2. But it still works with ST 2.3 (the current release). Including its source folder “Ext.ux.touch.grid” in the root of my ST app and adding a reference to it in my app.js was all that was needed to get it to work.

When I built my app for production deployment (sencha app build production), I got this error:

Unknown definition for dependency: Ext.ux.touch.grid

The above error basically pops up because of not adding a dependency (say, a plugin) in your ST app’s classpath. Adding it to the classpath resulted in the yet another error:

com.sencha.exceptions.ExBuild: java.lang.IllegalArgumentException

A small tweak fixed this error: I created a new folder “plugins” in the root of my app and moved the “Ext.ux.touch.grid” folder into it. I edited my app.js to change the plugin’s path, and likewise changed the classpath.

Add this to the top of app.js (before Ext.application declaration):

    enabled: true,
    paths: {
        'Ext.ux.touch.grid': './plugins/Ext.ux.touch.grid'

And add the “plugins” folder to the app’s classpath (edit .sencha/app/sencha.cfg):


Now build again, and all should be fine!
Happy coding.

Tagged with:
Apr 18
MonoDevelop 4

MonoDevelop 4

If you are like me — always living in Linux, but sometimes being required to develop ASP.NET sites — you have no doubt used MonoDevelop. While its latest iteration brings in many good things, it’s still not the ready-to-use Visual Studio.

Once you are past the System.UnauthorizedAccessException and Could not load file or assembly ‘System.Web.WebPages’ errors, you might encounter another weirdo in an imported MVC4 site, an error that prevents loading of default stylesheet(s) in browser. As a result, your site may look completely deprived of any styles, colors, images, etc.

The origin of this error lies in the simple fact that while Windows (possibly the source of your imported MVC site) is case-insensitive with file names, Linux isn’t. Correcting this is as simple as:

  1. opening the file App_Start > BundleConfig.cs, and
  2. changing
  3. bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));


    bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/Site.css"));

  4. that is: site.css to Site.css

Merry coding!

Tagged with:
Dec 03

I’m pretty happy with my Nexus 7. So far, no major complaints. Typing is a breeze. Gaming is fun. Reading books is very convenient. Watching movies is a pleasurable experience. Plus it’s running the latest Android–Kit Kat. For its accessories, I bought an OTG cable and a music case cum carry pouch.

I’m enjoying every bit of this cute little, cheap and quality device. ☺

Posted from my Nexus 7

Tagged with:
Dec 01


IMAG0960 Before yesterday I had never visited a shelter home as part of a corporate social responsibility initiative, in all my four years of corporate existence. Yesterday, along with a group of volunteers, I paid a half day’s visit to Cheshire Homes’ Delhi Unit to interact with its residents, differently-abled persons. Now I’m not sure how or what changed in me that helped make up my mind for volunteering, but I decided I would go a few moments after receiving a call for volunteering via email. Perhaps it was the apparent approachability of the venue that made me think, “sure, I can give it a shot.” I received the email from our company’s CSR club calling for donations (small, big items) and spending some quality time with people who need it the most. I signed up immediately.

Even when it was two weeks away, I was excited for the visit, for it was going to be a whole new experience for me, personally and professionally. I searched my room for donate-able items, and found some—a couple of unused soaps, shaving gel, and mosquito repellent machines. I dropped these items in the donation box arranged for in our office cafeteria.

Knowing that my office’s CSR club was not particularly known for proper planning, I wasn’t surprised to find out a day before the visit that all volunteers would have to arrange for their own travel. What surprised me was the lack of any defined schedule of events for the visit. What all we were told was that we were going to “spread happiness”. How?—that was a debatable matter, or, as it turned out, the organizers didn’t care about sharing it. Anyway, I reached at the venue, by my own, on time.

I woke up early in the morning and was ready to leave by 8.30am. I took the Yellow-line metro, and changed course from Central Secretariat. Boy! how crowded was the first station of Violet line I cannot express in words, for there were seemingly more people on the platform than there are words in this blog post. It took me close to total two hours in transit, and I was at Cheshire Home at 10.15am. The place impressed me at first sight.

Situated in a posh New Delhi region, Cheshire Home is an expansive shelter home for the under-privileged. The place is more than fifty years old and yet is clean and well-maintained. From a brochure I got from the place, I came to know that it is one in a series of many Cheshire Homes across the globe, a chain founded by Lord Leonard Cheshire. There are 25 Cheshire Homes in India, the Delhi unit being the largest one. Cheshire Home Delhi was established by Major General Virendra Singh in 1957. It has been visited by and received praises from such luminaries as Sonia Gandhi, AB Vajpayee, SD Sharma and PV Narashima Rao. While walking through its passages, it was immediately clear to me why it had been so popular among the biggies.

Continue reading »

Tagged with:
Jun 22

Instant MeteorLast month I got a review request from Packt Publishing for a recent book of theirs on meteor.js. About six months back, I was heavily involved in developing my first real-time web application at work (Accenture). The idea of using the meteor.js framework for building that app came from my mentor who had then recently given a presentation on it at an event. Awed by the concept of reactivity, a rich API and the power of MongoDB, I fell in love with Meteor pretty quickly. As it went, it didn’t prove difficult convincing my boss to using Meteor as the basis of a “social” TODO app we were planning to create at the time as the various virtues of this splendid framework clicked immediately.

Officially, meteor.js supports only Linux and Mac OS X as development and deployment environments, whereas Accenture is a Microsoft technologies driven company. So I had to do my research and come up with a way of deploying our meteor app on a Windows server. I blogged about the complete process of hosting meteor.js apps in IIS, and perhaps that’s how Packt Publishing found me.

Instant Meteor JavaScript Framework Starter by Gabriel Manricks is a light read that promises to get you started with a whole new paradigm of web application development instantly. The book is a whole of 76 pages long, including the usual table of contents, introduction and credits. I found that the book is written in a simple language and somewhat focuses on web development beginners, while at the same time dealing with complex and intricate topics through its mind-graphing app project. Even during my busiest days at office, I was able to read the book to completion in 6-7 days, although it may take a bit more time if readers explore Meteor simultaneously by practising themselves using the code snippets provided in the book.

Gabriel has done a good job with the introduction, and I liked the way he doesn’t ignore programmers who haven’t ever seen the black of a command-line. He keeps the overall tone simple and easy to understand. But assumes the reader has had at least some experience developing websites, which is fine as this book is not targeted at web development itself. Almost all important Meteor API functions and concepts are covered, and these make up for a natural flow in the book. Gabriel’s explanation of how Meteor implements the MVVM model makes this scarily perceived topic seem simple. The best part of the book has to be “Grapher” project, through which Gabriel has illustrated the process of creating a mind-graphing web app from planning to coding to securing the app. I personally loved the coding style used and agree with the emphasis laid out on the planning phase. Having been involved in web dev since the last 6-7 years, I even learned a few new tricks. I think anybody would be amazed on how developing such a complex app becomes so easy when using Meteor.

Topics like publish-subscribe framework and app deployment are touched toward the end of book, but I felt a couple more pages should have been dedicated to these two important topics, although what’s covered applies well to starters. In my experience, using publish-subscribe in a more complex data setting can become overwhelming and cumbersome if done wrong.

I conclude my review by congratulating the author and Packt for a crash course on Meteor, especially when there aren’t many (any?) books on Meteor available out there. Highly recommended for people wanting to get started on real-time web app development!

Tagged with:
preload preload preload