Let's build a Firefox extension with Kotlin

Kotlin, my favourite programming language, has seen a fast adoption on platforms like Android or Server where the code is compiled to Java bytecode. However, as Kotlin also supports compilation to Javascript, the language is starting to receive attention in the Web ecosystem as well. So today i am going to show you How to create Firefox Extension Using KotlinJS.

While some content on writing web applications in Kotlin has been published, the niche of writing browser extensions has seemed to be ignored until now. That’s why in this post we are going explore the process of writing a simple extension for Firefox using Kotlin JS.

How to Create Firefox Extension Using KotlinJS?

The extension is based on Your first extension by Mozilla and will simply add a red border to the kotlinlang.org website.


For testing our Firefox extension, we will use the web-ext tool from Mozilla. To obtain it you need to install node.js and then run the following command in a terminal:
  1. npm install --global web-ext
Apart from that, we will be using IntelliJ IDEA 2017.2.6 with the Kotlin plugin version 1.1.60 to develop the extension.

Setting up the project with KotlinJS

Creating a new project using the KotlinJS (JavaScript) variant
In Intelli IDEA, we create a new Gradle based project and check the Kotlin (JavaScript) option.
We proceed through the wizard until the empty project is created and opened.
As the next step, we will enable the Dead Code Elimination plugin for KotlinJS. This is necessary because a Kotlin JS program needs to bundle the Kotlin stdlib which is over a megabyte in size. However, we can reduce the size of our compiled code drastically by removing code that’s never getting called.
To enable the plugin, simply add the following line to the build.gradle file.
  1. apply plugin: 'kotlin-dce-js'

Creating the extension manifest

In the next step, we add the manifest file which is required for a Firefox extension. This fileis called manifest.json and resided in the root directory of our project. The file should have the following content.

"manifest_version": 2,

"name": "Kotlin Borderify",

"version": "1.0",

"description": "Adds a red border to kotlinlang.org",

"content_scripts": [


"matches": [



"js": [






In this file we declare that our extension will inject a content script in any website matching the pattern *://kotlinlang.org/* . The necessary script files are are the Kotlin stdlib kotlin.js as well as our code in the kt-borderify.js file.
Full article and Source : http://www.tellmehow.co/create-firefox-extension-using-kotlinjs/

Justice League Reviews Round-up

Justice League
Justice League
Today i am going to share Review and Rating of recent release movie Justice League.  It’s better than Batman v Superman. But it’s more successful as a trailer for Aquaman or TheFlash than as a movie of its own.

Justice League

Fueled by his restored faith in humanity and inspired by Superman’s selfless act, Bruce Wayne enlists the help of his newfound ally, Diana Prince, to face an even greater enemy.
FilmFed : Justice League Reviews & Ratings
FilmFed : Justice League Reviews & Ratings


Zack Snyder


Chris Terrio (screenplay by), Joss Whedon (screenplay by)


Ben Affleck

Let’s discuss what internet says about this movie:



As both a Marvel and Dc fan, this movie exceed all of expectations. Such a great hype and action packed film. I loved every single character and how well they developed together. I would see this movie 10 more times!! The only flaws I saw with the movie was some CGI but hey. Not every movie is perfect, the visuals were amazing and was just a epic movie to sit and watch and bring to life finally.

Rotten Tomatoes


Justice League leaps over a number of DC movies, but its single bound isn’t enough to shed the murky aesthetic, thin characters, and chaotic action that continue to dog the franchise.
Everyone involved in making “Justice League,” and everyone who will eventually see it, deserved something better than this.


Google Pixel 2 XL vs iPhone X: Find out Best phone

Google Pixel 2 XL vs iPhone X: Find out Best phone

Google is challenging Apple with its second generation of smartphones, the Pixel 2. The Pixel 2 XL is the one closest in size to the iPhone X
Apple's iPhone X and Google's Pixel 2 XL has something common which both aiming to be come with the best smartphones on the market, and we’re all desperately waiting to be released.
maxresdefault (1).jpg
Both leading mobile company use very different OLED displays from different manufacturers. How do they compare and which is the best?
Let's find out who will winner of this battle by some comparison which are given below :


The competition for displays is a close one between the iPhone X and Pixel 2 XL.
DISPLAYPixel 2 XLiPhone X
Screen size (inches)6.005.80
Resolution1440x2880 pixels1125x2436 pixels
According to above table Pixel 2 XL take a valuable lead against iPhone X.

See this also : Android Oreo Vs iOS 11 : Comparison you should know about this


The battery competition isn’t so close.
BATTERYPixel 2 XLiPhone X
Battery capacity (mAh)35202716
Removable batteryNoNo
Weight (g)175.00174.00
The Pixel 2 XL packs a serious 3,520mAh battery that Google says can get up to seven hours of life in just 15 minutes of charging and took another lead against iPhone X.


A killer flagship phone needs a killer camera. Google and Apple both know this. iPhones always come with an impressive camera that Android cameras try to beat.
CAMERAPixel 2 XLiPhone X
Rear camera12.2-megapixel12-megapixel
Front camera8-megapixel7-megapixel
Pixel 2 XL has high number features in this section also but due to iPhone's camera quality reputations. iPhone X got a lead and battle is on 2-1 now.


Perhaps the most distinct and hardest to compare aspects of the Pixel 2 XL and iPhone X are the hardware inside and the software they run.
HARDWAREPixel 2 XLiPhone X
Processor1.9GHz octa-corehexa-core
Processor makeQualcomm Snapdragon 835Apple A11 Bionic
Internal storage64GB64GB
Expandable storageNoNo
Expandable storage type--
Expandable storage up to (GB)--
Performance of the iPhone X is a bit more clear. The iPhone 8 and iPhone 8 Plus are already out, and they run the same operating system and hexa-core A11 Bionic chipset that come in the iPhone X. It snatched another one point with great comeback. Point is 2-2 now.


SENSORSPixel 2 XLiPhone X
Compass/ MagnetometerYesNo
Proximity sensorYesYes
Ambient light sensorYesYes
Temperature sensorNoNo
Google's Pixel 2 XL take lead due to they have extra Compass/ Magnetometer sensor and now point table is elevate towards Google phone with 3-2 points.


Wi-Fi standards supported802.11 a/b/g/n/ac802.11 a/b/g/n/ac
BluetoothYes, v 5.00Yes, v 5.00
Number of SIMs11
SIM TypeNano-SIMNano-SIM
Connectivity configuration is all equal so we decide to give one-one point to both.


Comparing the iPhone X and the Pixel 2 XL and naming a winner is just as hard as comparing iOS and Android. They’re two different beasts, and each has ways of beating the other depending on what they’re competing over.
When we get our hands on review units, we’ll have a better idea of which phone is really the best, but there’s no doubt both will be great.

Password Recovery Reviews

You can easily get access to your system even when you do not remember the password. All you need to do in this situation is use the appropriate password recovery software and unlock your computer. There are many paid versions of software available in the market that can accomplish this task within no time.
Free Password Recovery Software Reviews
However, you can initially try your luck with the free resources and see if they can unlock your system. By choosing the leading password recovery programs available in the market, you can easily get this done without any investment.
The best part about choosing such software is that you need not have any technical expertise to get access to the locked computer. These programs are very simple to use and you can easily use them on most versions of Windows systems.
See the full post here >> Free Password Recovery Software Reviews
Considering all the features of these programs, you will notice that each one has its own advantages and you can choose them according to your convenience and individual requirements. 
When you have lost access completely to your computer, you can initially choose the login password recovery software and gain entry to your system. Once you have done this, you can choose other options for data recovery if it is needed and restore the lost data on your system. 
This can also restore the data that is lost due to accidental file deletion or format issues. It is always a good idea to choose open source programs for this purpose as there is no need to spend lots of money on expensive software to gain access to your locked computer.

Which Android Dependency Injection is best?

This post is a summary of first impressions of a few android related frameworks that we (Tell Me How Blog) tried out during a competences session recently.

What is Android Dependency Injection?


“Dagger constructs instances of your application classes and satisfies their dependencies. ”
Dagger is a dependency injection framework, unfortunately most of us did not manage to setup dagger or failed to get dagger running once setup. So I can not give a proper overview of dagger2.
Read more: http://google.github.io/dagger/


“Annotate fields with @InjectView and a view ID for Butter Knife to find and automatically cast the corresponding view in your layout.”
Butterkife is a view injection lib for android. As such it only handles injection of view components and does this using a InjectView annotation. So some boilerplate is removed and less code has to be written. Some of us found the result a bit harder to read and in some cases the reduction of code was not noticeably, but this is most likely true for the other injection frameworks to and not something specific for Butterknife. Setup was easy with just one dependency. Stack-traces was reportedly difficult to read when Butterknife was used.
Read more: http://jakewharton.github.io/butterknife/

RoboGuice 3

“RoboGuice 3 takes the guesswork out of development. Inject your View, Resource, System Service, or any other object, and let RoboGuice 3 take care of the details.”
RoboGuice 3 is similar to AndroidAnnotations and Butterknife, easy to setup, two dependency’s needs to be added to the build file. This framework seems like it should be easy to use if you are already familiar with Guice, and even if you don’t its not that hard to understand and use. It is similar to the other dependency injection frameworks that you don’t get all that much for your money, but it’s easy to use and removes some boilerplate. The documentation could use a touch-up.
Read more: https://github.com/roboguice/roboguice

Final Verdict:

The views on the frameworks above is the result of a 3 hour session where we tried them out and had a short discussion about each of them to sum up the experiences. Given the limited time we spent on each of the frameworks we might have missed some important things, if you find and mistakes or are missing some important information please post a comment below.

Read more >> Comparison of All Android Dependency Injection