Dzulqarnain Nasir

Recent Posts

  • June 10, 2014

    Integrating Grunt into ASP.NET projects

    Image of Grunt + Visual Studio logos

    Grunt is an awesome JavaScript task runner. It enables you to automate various tasks like minification, compilation, unit testing, etc. Learn how to integrate it into your ASP.NET projects here:

    Read “Integrating Grunt into ASP.NET projects” on the Geta blog

  • March 13, 2014

    LESS Tips For Moar

    I’ve used LESS for a little over two years now, and I just thought I’d share the things I’ve learnt about LESS that has helped me be more efficient and productive when working on the front-end.

    Read more »
  • December 25, 2013

    Angular Date Parser

    Lately I’ve been working a lot with date and time pickers, and it got me thinking, “Why doesn’t Angular come with some form of date and time parser that converts strings into a JavaScript Date object.” I mean, you could already convert Date objects into formatted strings using the Angular dateFilter, so why not the other way around? Wouldn’t it be cool to be able to convert strings into Date objects using a particular format, and in many cases for us in Europe, locale.

    Read more »
  • December 06, 2013

    Angular Timepicker Directive

    I was searching for a simple timepicker directive, much like the one used in Google Calendar, for one of my projects. I couldn’t find any, so I built my own.

    Read more »
  • November 04, 2013

    Scope Inheritance in AngularJS

    As I continue my journey into the Angular world, I come across many new and awesome things. One very interesting thing Angular has got going for it is the use of scopes.

    Scope inheritance in Angular works very much like JavaScript’s prototypal inheritance. Child scopes have access to their respective parent scopes, changes in the parent scope can trigger event listeners in the child scope, so on and so forth. It’s pretty straight forward, up until the moment you need to do some “two-way binding” from within the child scope.

    Read more »