Added Apple wireless keyboard to my iPad

#TIL that i could use the Apple wireless keyboard on my iPad, which will change how I use my iPad dramatically, I believe.

Anyhow I haven’t blogged much lately (since last year) ’cause I was very busy with projects at my work place. I’ve been doing something related to private cloud infrastructure for the organization. What I can say is it involves OpenStack, Netflix’s Asgard.

BTW there was a news article about Walmart going with OpenStack that powers around 100,000 nodes.

build pipeline plugin first pull request

At my work, we have been using build pipeline jenkins plugin. However, there was a bug with it in our use case, which I have filed a bug for it.

There’s reproduce steps in the bug, but the issue is that parameter values from a wrong upstream job are passed to manually triggered downstream job if the downstream job is shared by a few/many different upstream jobs. Auto deploy downstream jobs do not have the same issue. It’s affected by only manual downstream job.

So I made an update to build pipeline plugin and made a pull request for the first time in my github history. This is the actual difference.

Simple way to convert NodeList into Array in javascript

So what is going on with the above statement? Here’s what’s going on:

  1. getElementsByTagName does not return Array object. Instead it returns NodeList (You can easily test it out on the developer tools. i.e. document.getElementsByTagName(‘li’).constructor)
  2. NodeList does not have array methods. Prototype type chain is not connecting to array prototype at all. (NodeList.prototype.__proto__.constructor == Object)
  3. slice returns a new array object so using slice against NodeList converts NodeList into Array

quick note on “use strict”

I just want to make a quick note on “use strict” in javascript.

Restrictions:

  1. won’t allow to create a global variables
  2. Illegal assignment throws an exception
  3. attempt to delete undeletable properties throws an exception
  4. all named properties must be unique
  5. function parameter names must be unique
  6. octal syntax is not permitted