Category Archives: Technology

Using Vim to generate HTML output of code

This is an interesting bit that I learnt about from an email in a mailing list by James Pryor.

To generate html output for code within a shell script you can use:

vim '+syntax on' '+ set nu' '+set background=light' +TOhtml '+w myscript.html' '+qall!'
If you don’t want numbers and need a dark background you can use:
vim '+syntax on' '+ set nonu' '+set background=dark' +TOhtml '+w myscript.html' '+qall!'

Installing EditorConfig on Sublime Text

To install Editor Config on Sublime Text all you need to do is to follow the following steps:-
  1. Go the Preferences tab -> Package Control.
  2. Select Install Package from the drop down menu.
  3. Wait for the list to load, once it loads it will show you a list of packages.
  4. Now, type in EditorConfig and select the highlighted option.

To confirm that Editor Config is installed correctly on your Sublime Text instance you can go to Preferences -> Browse Packages. If installed correctly you should be able to see an EditorConfig directory present in the Packages directory.

That’s it! Enjoy! 🙂

Installing Sublime Text 3 on RHEL / Fedora

Here’s another three step guide to installing Sublime Text 3 on RHEL 6,7 / Fedora 18, 19, 20:-

  1. Download the installation script from the following gist.
  2. Extract it to your home directory [or anywhere you like].
    $tar -xvf gist11b039f398ddcae88139-e339084ef22e956ea6ef8d04f8279ca70772f534.tar.gz
  3. Open your terminal (preferably as super user), navigate to your home directory and execute the shell script.

Voila!! You now have Sublime Text 3 installed on your machine. You may run it from the terminal or via the alt+f2 shortcut by simply typing in “sublime”.

Based upon my previous post on How to install Sublime Text 3 on Fedora. 😉

Enjoy!! 🙂

Creating scrollable Charts using Angular-Kendo

Creating Scrollable Charts:

Horizontal scrolling of Charts is not supported out of the box in Kendo UI, however it can be achieved using a bit of custom styling.

Basic steps:

  • Set overflow: auto of the <div class="chart-wrapper">;
  • Set width of the aforementioned div;
  • Set width of the <div id="chart"> to a value higher than it’s parent div width size.

Example piece of code:


<div class="parent-container">
  <div kendo-chart k-options="line" class="chart-container">


.parent-container {
    overflow-y: scroll; 
    width: 1000px;

.chart-container {
    overflow: auto; 
    width: 2000px;

Installing Android on the Geeksphone Keon

Here’s a clean, clear and to the point english post on how to install Android on your Geeksphone Keon developer device:-

Android on Keon


  1. If you don’t already have adb and fastboot installed on your system:-
    1. Get the packages from here.
    2. Extract the contents of the zip file and navigate to the adbfastbootmac directory [Note: This package works on macs, if you are using Linux or any other operating system, a simple online search should help you figure out how to get adb and fastboot]
  2. On your Keon go to ‘Settings’ -> ‘Device Information’ -> ‘More Information’ -> ‘Developer’. From the list of checkboxes, enable the ‘Remote debugging’ checkbox.
  3. Connect your device to your computer using the USB cable.
  4. Back on your computer’s terminal do the following:-
    1. If you are using the package mentioned above, run ‘./adb devices’
    2. You should see a device named ‘full_keon’ as a part of the output. If you don’t see it listed out there, try reconnecting your device or check whether the Remote Debugging option is enabled.
  5. Now let’s get down to the magic:-
    1. Download and store the following zip packages to you device’s SD-Card:-
      1. TWRP recovery
      2. Android ICS ROM for Keon
      3. Google Apps
      4. Additional Ring Tones
    2. Start the Keon in the fastboot mode :
      # ./adb reboot-bootloader
    3. Install the new recovery :
      # ./fastboot flash recovery TWRP-GK.img
    4. Boot the recovery :
      #./fastboot boot TWRP-GK.img
    5. On the device’s screen now tap on ‘Backup’ to create a backup of Firefox OS.
    6. Once done, tap on ‘Wipe’ → ‘Swipe to Factory Reset’.
    7. ‘Install’ (select the ROM) → ‘Add More Zips’ (select the Google Apps and Additional Ringtones zip files) → ‘Swipe to Confirm Flash’.
    8. ‘Wipe Dalvik and Cache’.
    9. Tap on ‘Reboot System’.
  6. Voila! You’ve now successfully installed Android on your Geeksphone Keon device.


  1. Make sure that the device has at least 50% battery power before commencing with the process.
  2. Since the Keon has only one soft touch button on it, it is mapped to the back functionality. If you want to use all three default Android soft-buttons, the easiest way to do that would be to install the “SoftKey Enabler” app from the Android Play Store.


If you now want to switch back to Firefox OS, all you need to do now is as follows:-

  1. Turn off your device.
  2. Press the power and the volume up buttons of the Keon at the same time to boot into the Team Win Recovery image.
  3. Tap ‘Restore’ and select the backup file created earlier during the Android setup, and confirm.
  4. Once the process completes, you should be able to use Firefox OS again! 🙂

DISCLAIMER: Please note that the steps I’ve mentioned here are what I followed to try out Android on a couple of my Keons. These steps involve flashing the device, hence involve a very real risk of ending up with a bricked [dead] phone. As such, go about the process at your own risk. I’m in no way liable for any unforeseen results coming out of this process.





Ever since the time I first got involved in the Free and Open Source community I would hear about people’s experiences about FOSDEM [Free and Open Source Developers’ European Meeting]. If you are into Open Source communities, then apparently FOSDEM was the place to be. A few years back when I was nothing more than a wide eyed geek attending events out of curiosity to know what the hoopla was all about, I would at times meet people who would talk about someone that they know off, who had been to FOSDEM and I could not help but wonder about how big a tech event can be so big that people would would compare it to the holy grail of FOSS events.


Fast forward a few years, and I got to have a first hand experience of it and that too from the driver’s seat. Not only did I attend FOSDEM this year, but I was also one of the speakers at the Mozilla Dev-Room. I had a joint talk on “Developing Webapps for Firefox OS – The Efficient & Simplistic Approach” with Robert Kaiser (KaiRo).

Me and KaiRo during our talk

Me and KaiRo During Our Talk!

In all, this year, four of us [Me, Priyanka, Soumya and Srikar] were invited as speakers at the Mozilla Dev-Room at FOSDEM from India, and it was also the first one for all of us. Even though all four of us are pretty much veteran FOSS evangelists, yet FOSDEM was something that was pretty new to us. Needless to say, we were excited! It was like we were back to being the curious geeky newbie souls that we were just a few years back. And I must say, we enjoyed every moment of the experience to the fullest.

One of the most striking things for me was the fact that for the first time, in the last couple of years I felt nervous while getting on the stage [which, I’m pretty sure was quite evident in my talk]. However, I’m quite sure that it wasn’t peer pressure, or the number of people looking at me in the room [the room was packed with 350+ of the geekiest people from around the world], I’d guess it was more because of the fact that it was something right out of an adolescent day dream for me. Somehow, however, I enjoyed this feeling all over again. I felt like the ever too curious techie geek from a few years back again.

What I do want mention here is after quite a long time [a couple of years maybe?] I went berserk with swag again. I guess being surrounded by the choicest of official goodies representing all the things that you use in your everyday life does have that effect on one. And, I’m pretty sure I wasn’t alone as well. There were people all around me jumping from one booth to the other with the curious glean in their eyes which can easily compete with that of a bookworm left free in the world’s best library without a care in the world. Knowledge flow was the mantra here, and then of course there were the swags.

GNOME Stickers

Swag galore from FOSDEM

I have to confess, I ended up with a pretty good stockpile of stickers and other similar goodies, thanks to my sudden bout of childishness. But again, who can resist the temptation of picking up a few of the most sought after swags in the Free and Open source communities.

I won’t write much about how my talk went though, I would rather leave it for you to see and understand. For the sake of simplicity, I’m embedding the video recording of my talk along with the slides from FOSDEM here. Do check it out and leave me a note, about what you think of it. [Just remember, I was a bit nervous ;)].

Slides: Developing Webapps for Firefox OS – The Efficient & Simplistic Approach

Video: Developing Webapps for Firefox OS – The Efficient & Simplistic Approach

A special note here for Benoit Leseul: You are one of the nicest and wonderful person that I have ever met. Thanks a lot for taking care of us during FOSDEM! 🙂

Coding Best Practices – With a tinge of CSS!

For the curious: What made me write this post:

A very good friend of mine called me up today and asked me to go through a web portal that their company is developing to gather some feedback about it. When I opened the page I was quite impressed at first site and everything about the visual styling to the page layout frankly looked quite awesome.

Being a web developer myself, I somehow couldn’t resist the urge of opening up the browser’s developer tools to check out code behind it, and this is where the problems started showing up. As soon as the developer tools window pane opened up eating up half of my screen estate, I noticed the page layout completely fall apart. There was a mess of overlapping texts, visual elements, and what not all over the page rendering the site completely useless.

By instinct I ended up opening the style editor of developer tools to check the CSS to find out where things where breaking, however what I saw was nothing but plain horror for any front-end developer . It had to be one of the most messed up style-sheets I have ever seen! Basically it was nothing but a garbled up mess of style definitions for classes, ids, media queries, etc. What made it even more insane was that there was no homogeneity to the way the document was written, no indentations and to top it all the whole site had the most generically confusing class names that one could ever have nightmares of.

So, I called up my friend to congratulate him about having such a gem of a front end guy work on his team, when I came to know about the most sorry part of the whole story. The person who wrote this code was apparently a man who had quite a large number of years worth of “industry experience” and has been doing front end work since before even I knew what HTML/CSS was!

This is what convinced me to go ahead and post a few simple things about things that one should keep in mind while writing code with a bit of an inclination towards CSS.

For the Restless, Here’s what I want to say:

Here are a few best practices that I personally follow that I’d like to share with everyone:-

  • Always remember that any code that you write has a high probability of being extended or needing maintenance in the long term. 70% of most maintenance woes can be avoided by keeping this simple fact in mind while writing code.
  • As a direct consequence of this, make sure that whatever code that you write is readable even to the most novice coders out there.
  • Adopt good variable naming practices [eg. a variable name “count” is always more desirable than a variable name “i” for a counter variable since it’s name gives a good idea about it’s functionality.]
  • Try and write self documenting code, with enough [read: not too less, yet not too much] comments describing what a certain block of code does, and how it does that. The best way to make sure that the comments are of the perfect length would be to make sure that the comments for a block of around 5-10 lines of code is never longer than 2 lines [of 80 characters each].
  • One of the places which very often make the biggest mistakes in documenting stuff are the CSS files. A CSS file with a spaghetti mixture of ids, classes, etc. is never a good idea.
  • Always try to have a proper document structure for the CSS with logical grouping of style definitions, preferably with an index comment at the very beginning. This helps make the code more readable and thus much more easy to maintain and extend in the long run.
  • Indentation is your biggest friend – It helps make the code more easily readable as well as create a well-structured document format. Indentation makes it dead simple to understand the flow of logic within the program and separated different logical groups from each other by creating well nested content for the document.
  • Lastly, and more importantly before signing off a piece of code as ready for production, be honest to yourself and ask yourself: “Is this the kind of code that I would like to read through and work upon in a few years time when I have forgotten the minutes of the implimentation?”

I sincerely this helps atleast a few people to understand what it is like to write beautiful code and give them a brief idea about how to do so themselves.

Installing Firefox Nightly with Australis on Fedora 18 / 19 / 20

Australis Sceenshot

Screenshot of Firefox Nightly with Australis on Fedora 19

Are you a Fedora user who wants to check out the new Australis Theme for Firefox scheduled for release with Firefox 28? However, you are a bit apprehensive of letting go that stable release of Firefox in bundled within your Fedora installation by default, just in case something goes wrong with the nightly beta release.

If this is what defines your current dilemma, fear not. You can have both the stable as well as the nightly beta versions installed simultaneously in your computer in a few simple steps without any trouble at all! Here’s how to do it in case of Firefox Nightly version 28 [the latest release at the time of writing this post]:-

Step 1: Login as Super User:-


Step 2: Get the nightly package:-

Go to to get the latest available nightly build for your system.

Screenshot of Firefox Nightly Webpage

Firefox Nightly Webpage

Alternatively, you can use the command line tool wget to directly download it via the command line as follows:-


Step 3: Extract the contents of the tar ball as follows:-

#tar -xvf firefox-28.0a1.en-US.linux-x86_64.tar.bz2

Step 4: Rename the extracted directory to “nightly”:-

#mv firefox nightly

Step 4: Create an installation directory:-

#mkdir /opt/firefox

Step 5: Move the contents of the “nightly” directory to the installation directory:-

#mv /nightly /opt/firefox/nightly

Step 6: Create a Symbolic link for the Nightly installation:-

#ln -s /opt/firefox/nightly/firefox /usr/local/bin/nightly

Step 7:Run Firefox Nightly by typing the following within the command line or the alt+f2 launcher:-

For command line: $nightly

For alt+f2: nightly

Step 8: Relax and enjoy the Australis awesomeness! 🙂

Installing Skype on Fedora 18 / 19 / 20

Here’s a list of command line steps to install Skype on Fedora 19:-

Step 1: Open up the terminal and switch to super user:

$su –

Step 2: Install the dependencies:

yum install alsa-lib.i686 fontconfig.i686 freetype.i686 glib2.i686 libSM.i686 libXScrnSaver.i686 libXi.i686 libXrandr.i686 libXrender.i686 libXv.i686 libstdc++.i686 pulseaudio-libs.i686 qt.i686 qt-x11.i686 qtwebkit.i686 zlib.i686

Step 3: Download Skype 4.2 Dynamic package for Fedora into /tmp:

cd /tmp
wget –trust-server-names

Step 4: Extract the Skype 4.2 package to /opt:

mkdir /opt/skype
tar xvf skype-4.2* -C /opt/skype –strip-components=1

Step 5: Create Launcher, Link icons, language and sounds:

ln -s /opt/skype/skype.desktop /usr/share/applications/skype.desktop
ln -s /opt/skype/icons/SkypeBlue_48x48.png /usr/share/icons/skype.png
ln -s /opt/skype/icons/SkypeBlue_48x48.png /usr/share/pixmaps/skype.png

touch /usr/bin/skype
chmod 755 /usr/bin/skype

Open /usr/bin/skype with text editor and add following content:

export SKYPE_HOME=”/opt/skype”

$SKYPE_HOME/skype –resources=$SKYPE_HOME $*

Step 6: Congratulate yourself! You have successfully installed a non-free proprietary software on top of free Open Source software and bent down to corporate needs. Now go ahead and configure Skype according to your needs!

Sigh! :-/

Hello WordPress – says my Keon!!

This blog post celebrates the joy that I feel from the depths of my heart to see that my baby has finally hatched from its shell and come to life for the first time on my Firefox OS Keon developer device.

This is the first post that is being made from an actual Firefox OS device using the WordPress for Firefox OS web application to commemorate the completion of my Google Summer of Code 2013 project!

I’m grateful to have received the opportunity to develop WordPress for Firefox OS (Alpha) – v0.01 as my project for this year’s Google Summer of Code! 🙂

%d bloggers like this: