Category Archives: Javascript


NodeSchool is a fully community driven effort and is 100% open source. This means that anyone can use the NodeSchool materials and/or host an event.

I have set up NodeSchool Kanpur chapter, and I hope to organise (with help of like minded people) a couple of workshops on Node.js (and web-development ecosystem around it).

I am looking for mentors and co-organisers, if you are interested, let’s have a conversion.

Data Visualisation

Infographics have become things of everyday. Data is more meaningful when it’s visually displayed.

Some links, you might find useful:

Please share links (in comments) to any interesting and inspiring articles or videos or apps. I would put those in above list.

What I am up to?

This is how my 2014 passed, or what I am up to:

  • riding my motorcycle a lot
  • hacking electronics and IoT using OSHW
  • dockerising things (apps, services)
  • playing with Apache Mesos, and ecosystem around it
  • hacking projects using Javascript (framework, toolchain, node.js, ES6 way of doing things) and web-standards (HTML5, CSS3, components, etc)
  • got Google’s Widevine certification (as required in one of projects). Personally, I like non DRM’d content 🙂
  • built a Chromecast app using dash.js, modular Widevine DRM with node.js based proxy service for licensing, and Java for content encryption and packaging
  • been reading a lot of stuff through hackernews
  • helped and built stuff: QRizq, Diziana, 99doodles, IndieReign and other projects
  • not having meetings (waste of time)
  • not interviewing candidates who are not worth anyone’s time. [should do another post: sad and bad state of technical education in India]
  • bunch of other things I can’t recall

Did you notice that I have been mostly playing (or having fun)? On other side of it, I have also been thinking what’s nex; I think, I have figured that out.

At present, I am still involved with couple of projects mentioned above. I have also taken up a couple of interesting consulting assignments around technologies mentioned above along-with my old love (flash/actionscript).

We’re Hiring Developers!

We have been working on bunch of products (, and others) for sometime. To take these products to next level, quickly and elegantly, we have recently started expanding our team.

We are starting our new development centre in Noida. We want to connect, talk to and hire smart and passionate developers (hackers) who love to work on products in a small company or a startup (like ours).

We are looking for:

  • bright and smart guys
  • one who can fit in our (small team/company/startup) culture, and becomes a great team player
  • can learn, adapt and use cutting/bleeding edge technologies
  • can inspire and mentor others
  • importantly, loves building cool, useful and scalable products/services

Experience, we would like to see:

  • Application Developer
    • Proficiency with web standards and frontend (HTML5, CSS3, JavaScript, etc.) development
    • proficiency with one ore more languages (Python, Ruby, PHP, Scala, etc.)
    • proficiency with analytical approach to problem solving
    • has worked or very interested to work on other frameworks (Django, Rails, Symfony, etc.)
  • Mobile Application Developer (iOS or Android or both) – apps/games development;

Details description can be found at

We are not rigid about number of years (of experience). We think experience comes out of depth, challenges one has taken, and how many great problems one has solved over the time. If someone has all that, we are happy to talk to him/her.

If you are interested or know someone who is good fit; I would appreciate, if you can connect with me (aqabiz at and share details.

Google Gears: ResourceStore and same-orgin policy

I spent some time playing with Google Gears LocalServer (ResourceStore) to cache some video files from YouTube/Google-Video on client. It seems, you can only cache (store) data from same-origin. I might be wrong, but this is what I found.
I would spend more time to find out if there is a way.

Google Gears Rocks!

I just installed Google Gears (Beta) and checked out some examples. I love the all the features (SQLite-DB, Cache-Server and Workerpool to manage script execuation), Google Gears surly rocks!

Some links to get started:-

Technorati tags: , , , ,

Gmail: usability/accessibility issue

Gmail uses mouse-down event instead of click (mouse-button-release) at many places (Compose Mail, Inbox, Chats etc) in it’s frontend. 

I face following problems because of their wrong choice of event (mouse-down instead of click):

  • I can’t select text while in list view. For example, if I want to select the sender’s name or subject, instead it opens the mail thread.


  • If mouse-button is pressed by mistake on any of links (Compose Mail, Inbox etc), associated action takes place and I am forced to click on browser’s back button (or equivalent) to get back to previous state (screen/view). I don’t get a chance to change my mind by releasing mouse-button outside of link area.


Technorati tags: ,

Yahoo! Messenger Plugin SDK

When I was in Yahoo!, I heard about this new plugin architecture in Yahoo! Messenger. I was very excited because I could extend the capabilities of Yahoo! Messenger with my current skills set (ActionScript, HTML, JavaScript, C++). Now this is public, I can talk about it.
You can download the latest beta of Yahoo! Messenger and get the Yahoo! Messenger Plugin SDK (which contains a sdk documentation and one example plugin).
Justin has also blogged about it. I am sure, we would soon see some cool plugins. Yeah, I also have my own ideas which I would hopefully able to do in my free time.
Meanwhile, check out plugin-gallery for some cool plugins.

Loading JavaScript file(s) using HTTPService/URLLoader

In my last post, I talked about JavaScript Flex 2 component that can inject Javascript code in HTML wrapper’s context. I experimented to see, if we can load Javascript files (.js) using HTTPService (or in Flex2/AS3 projects and inject it.

Example Flex 2.0 code:

<mx:Application xmlns:mx=""
xmlns="com.abdulqabiz.utils.*"  width="100%" height="100%" creationComplete="onAppInit ()">
import flash.external.ExternalInterface;
import mx.rpc.http.HTTPService;
import com.abdulqabiz.utils.JavaScript;
private var javascript:JavaScript;
private var service:HTTPService;
private function onAppInit ():void
service = new HTTPService ();
service.url = "test.js";
service.useProxy = false;
service.resultFormat = "text";
service.addEventListener ("result", injectJavaScript);
service.send ();
private function injectJavaScript (event:ResultEvent):void
javascript = new JavaScript ();
javascript.source = String(event.result);
trace ("javascript injected: " + event.result);
private function invokeSayHelloWorld ():void
{ ("sayHelloWorld");
private function invokeSaySomething (str:String):void
{ ("saySomething", str);
<mx:Button label="invoke javascript saySomething () function" click="invokeSaySomething ('Hey, how are you?')"/>
<mx:Button label="invoke javascript sayHelloWorld () function" click="invokeSayHelloWorld ()"/>

Test.js used in example:

var myName = "Abdul Qabiz";
function saySomething (str)
alert (str);
function sayHelloWorld ()
alert ("Hello World!");

You would need (with proper package directory structure) and test.js (code posted above) in place to make above example to work.
I am thinking to load FABridge using this approach. I know, it’s practically of no use except keeping code and logic at one place.

JavaScript injection through ActionScript

In last post, I showed, how can we inject JavaScript using ActionScript or MXML into host HTML container/page.

One more use-cases, I can think of:

  • Request server-side script to send a JavaScript (for specific browser) as string.  Using JavaScript class, I can inject the javascript in HTML