Skip to main content

Posts

The secret life of the OnePlus 3

So I bought the OnePlus 3 on launch day; it has been about a week since. Buying products on launch day is a practise I am personally against and don’t recommend, but end up falling for more often than not. More comprehensive reviews and bugs surface only after a few weeks from the public release; this time however, things were a little different. Reviews by both The Verge and MKBHD were released as soon as the launch event ended. For me, reviews by The Verge are nothing more than in-depth first impressions. It seems as if they don’t really use the phone as a daily driver or even for more than a day but instead they have some really talented people who produce great content and sometimes catch things that others don’t in the first go. MKBHD on the other hand has always been very reliable- he uses each phone as his daily driver for at least a week before publishing a review. The OnePlus3 got rave reviews by both and was marked to be nearly perfect.
The interesting bit however is that O…
Recent posts

ES6 Babel Transforms : Code Injection and Increase in File Size

This post aims to give a rough idea on the increase of file size after applying babel transforms to ES6 JavaScript. These figures depend highly on your style of writing code since each extra space leads to an additional byte. However, the transform comparisons will give you an idea on how they are treated by babel and how much of additional code will be injected in your file. 
These file sizes are non-uglify, non-gzipped and without any method of compression on OSX. let - var3 bytes for the first rename. 4 bytes for each subsequent rename.const - varSave 1 byte per declaration.
Class Tranforms852 bytes for using simple class declaration with a constructor. Adds two new functions, namely, _createClass and _classCallCheck.


2114 bytes for creating and extending a class.


Extending a class adds two more functions let us have a look at them, namely,
_get and _inherits.









Arrow => functions20 bytes per usage, depends on the usage as well.

Template StringsA little less than 4 bytes per variable cal…

FusionCharts Automated Testing Tool

While working at FusionCharts, every release we were faced with a daunting task of black box testing. Daunting mainly because of the breadth and the depth of the product. This post talks only about black box testing. FusionCharts Product as a whole contains about roughly 90 charts and each chart can be visually tweaked with a set of about 300 chart options/attributes. Ignoring any further permutation and combination, we have right there around 90*300 test cases. Apart from chart options, api testing which consisted of events and methods was needed. Clearly automation was required, as our manual testing would cover only a very small sample set that too based on smart assumptions.

With this problem at hand, I broke it down as follows:
Headless Browser
- Visual Regression
- API TestingUser Browser
- Visual Regression
- API Testing We liked to call it the FusionCharts Automated Testing Suite.

Headless testing would be based of a headless browser and integrated in to our nightly builds. It was…

uCharts - Financial Charting API

A few months back, the first stable release of the charting API, that I have been working on was released. A part of the uTrade product portfolio, it has been aptly named uCharts. uCharts is a general purpose charting API with prime focus on financial markets and data. In this post, I will give a brief overview of the features, compatibility and scope of extensions.



Features The API currently supports 6 types of charts:
LineAreaCandleStickOHLCBarPie
It has been designed in a manner that all aspects of the charts are user defined. Starting from the color of the charts, width of the candle bars till the number of ticks on each axis. Mentioning each element seems like a futile exercise. However, brushing over a few notable features seems more fruitful.

Aggregation Formula The number of data points that can be displayed on a screen or inside a DIV is limited by its resolution. The number of pixels available can lead to a severe limitation especially where data ranges over a span of 3-5 year…

Charting API for Financial Markets - JavaScript (SVG)

A brief about the released version of this API is available here.

As a part of the last semester of my graduation program (Bachelor of Engineering in Information Technology), I have been interning with a start-up, namely uTrade Solutions.  uTrade™ Solutions is a financial trading technology company with various products including multi-asset trading platform, algorithms and analytics. Instead of walking through my experience of working in a start-up, I would directly move to a short discussion about my project. 

uTrade Solutions is working to develop a financial analytics portal and every financial analytics portal employs the use of advanced charting. To draw and display different types of charts on the web, there are two main options which are widely used and acknowledged. Namely, Adobe Flash and Scalable Vector Graphics (SVG) . 
Using Adobe Flash has two main disadvantages: It requires the installation of an additional plugin to run content on the browser.It is not compatible with a…

X.Org Developer Conference (XDC2012) - A Nuremberg Experience

X.Org Foundation Board of Directors organizes and sponsors annually this conference which brings together developers working on different parts of X. The X.Org Developer Conference (XDC2012) was held from 19th to 21st September in Nürnberg (Nuremberg), Germany. The event was hosted by SUSE at their company headquarters in Nuremberg. 
A detailed schedule of the conference and all related content/videos can be found over here. Being an EVOC student, I was lucky enough to have been sponsored the trip and present a talk on my project/ work done over the summer. This post is mainly be about my experience rather than a summary covering everything important that happened during the conference.
skipping the initial travel
The trip started off with my flight landing at the Nuremberg Airport from where I took a taxi to my hotel. The airport resides in the outskirts of the city and is lovely ride through farms and green patches in to the city. I had reserved a room in The Azimut Hotel.
The Azimut…

Nouveau Summer Project : The End and The Beginning

The following are the IRC nicks of two Nouveau contributors without whom I wouldn't be where I am and none of this would be possible. I could never thank them enough for keeping up with my noobness. Thanks guys!

mupuf : Martin Peres  
Email: martin.peres@labri.fr | mupuf.org

mwk : Marcin Kościelnicki
Email: koriakin@0x04.net | http://0x04.net/~mwk/reblog/



The end and the beginning refers to two things, the end of the X.Org EVOC program and the beginning of a new Nouveau contributor. The experience till now has proved to massive learning opportunity, at the same time rewarding as I was able to actually implement code and obtain results. I started off as someone who was completely alien to such low-level programming and have grown to be someone who actually loves it more than the stuff he used to do. My student life began as web-developer, engaging in which gave instant results and was hugely motivating at every step to progress further. It has been a long journey from there to where …