I would like to share how we have used Danger to ensure few common rules for a Pull request.

Danger helps customising the Github workflow for pull requests. There are so many ways you can use it, I can’t just put all of them here in one article. But what I can do is, share how we are using it : )

Let’s start with the integration.

Note: Danger has support for many languages from swift, kotlin, ruby to python and more. I decided to use Ruby as it is kind of default and also this is not something we…


If you have been using a ubuntu web hosting but now want to create a server with amazon EC2 instance, you can follow this guide to prepare your server with apache, php, mysql, phpmyadmin and webmin (alternative to whm/cpanel).

I have a cheatsheet in my personal notes, which I have been using from a long time but I thought it would be helpful for others as well, if I put it on medium :)

Create an Amazon EC2 instance

  • Create a Ubuntu Server 20.04 LTS ec2 instance in amazon aws.
  • Update Security Groups for the instance you have just created.

You have to open these…


If your are deploying your angular app on an apache server, you might end up on this screen if you manually refresh your app.

To fix this, you can follow following steps:

1- Enable URL Rewriting:

In order to use mod_rewrite, shh into your ubuntu server and type following commands in the terminal:

~ sudo a2enmod rewrite
~ sudo systemctl restart apache2

2- Create .htaccess file in the root of your deployed project:

~ nano .htaccess

3- Paste the following code in the newly created file:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>

Save the file and your problem should be fixed now :)


What is Charles Proxy?

A proxy server is a server that acts as intermediary between clients and other servers from which data traffic is requested and received.

Why we need Charles Proxy?

There are different kind of functions a proxy server can perform but the most interesting are:

  • The ability to monitor and manipulate the incoming and outgoing network traffic.
  • Enables the user to view all HTTP and SSL/HTTPS traffic between their machine and the internet.
  • Simulate a variety of failures by manipulating the network traffic between app and back-end.
ref: http://codeblog.shape.dk/blog/2014/01/06/custom-ssl-certificate-with-charles-web-proxy/

What’s so special with AndroidTv?

For android the setup is…


Part 1: Write Restful api with spring boot
Part 2: Connect Restful api with MySQL

It is important to have proper specifications for the back-end APIs, that should be informative, readable, and easy to follow. Moreover, reference documentation should simultaneously describe every change in the API. Maintaining this manually is a hard job, so automation of the process would be great.

We will achieve this by using Swagger and Springfox. If you are not familiar with Swagger, you can visit its web page to learn more before continuing with this article. …


Part 1: Write Restful api with spring boot

Spring Boot gives you defaults on all things. For example, the default database is H2. When you want to use any other database, you must define the connection attributes in the application.properties file.

We have a repository which can persist data while the application is running. By connecting it with MySql we can make sure we have our tasks available always. In case you are wondering what is difference between Hibernate and Spring Data JPA?

Spring Data is a part of the Spring Framework. The goal of Spring Data repository abstraction is…


Being an android developer for 5 years I always wanted to learn how to write a Restful api by my own. It will be a fast phased tutorial/guide and it requires knowledge of kotlin and gradle. To keep it simple I have used spring boot so it also requires you to have IntelliJ IDEA. We will build a todo api from scratch and I will try to split it into multiple parts, so it is easy to follow.

You can set up a new project either directly through IntelliJ IDEA or Initializr Website. …


Did you ever wonder;

“Why the heck do I HAVE to call super?!? If this is something required always, why don’t they just do it for me!”

Here’s the answer to that questions;

Basically, super() is something that must be called if you’re overriding something that MUST be called, which can often be rather complicated code. Now, the reason they don’t just do it for you and call it before your function is mostly so that you have control!

To be more specific, you cannot control IF you call super(), however, you can control WHEN! So, let’s say you have…


  • Android Runtime (ART) is an application runtime environment used by the Android operating system.
  • ART replaces Dalvik, which is the process virtual machine originally used by Android.
  • Unlike Dalvik, ART introduces the use of ahead-of-time (AOT) compilation by compiling entire applications into native machine code upon their installation.
  • ART improves the overall execution efficiency and reduces power consumption, which results in improved battery autonomy on mobile devices.
  • To maintain backward compatibility, ART uses the same input bytecode as Dalvik, supplied through standard .dex files as part of APK files, while the .odex …

  • DVM is built specifically for android, It is built to address the battery life, processing power & it is free.
  • We are using DVM instead of Java Virtual Machine(JVM) because Java, Java tools are free but the JVM is not free, so the android developers from google have made their own virtual machine and made it as free.
  • Every Android application runs in its own process, with its own instance of the Dalvik virtual machine.
  • The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimised for minimal memory footprint.
  • The VM is register-based, and runs classes…

Zahid Rasheed

A human. Being, Technology Freak, Sun hater; snow lover, Enjoys Photography, Live to Travel and Trying to be a better human being everyday.. http://zahid.cc

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store