In iPhone, A user can now press Home screen icon to immediately access 3D touch Quick Actions functionality provided by your app. By Pressing hard on the home screen icon can now launch a quick action menu to take the user directly to parts of the app.

Users with devices that support 3D Touch will use this feature. You can add this feature quickly.

Home Screen Quick Actions

Quick actions can be static or dynamic. You can define static actions at build time and dynamic actions at runtime....

Read complete blog post

As software developer most important thing for us is to understand debugging. When things go wrong with code, we need to be able to find the bug quickly and solve it. Today we are going to have look at some important thing regarding ember app debugging. These are small things but can help you if you are new with ember and trying to debug some error in your ember application.

Ember Inspector:

Ember Inspector is a browser extension available for Chrome and Firefox. This is helpful tool for...

Read complete blog post

Nowadays, Asynchronous programming is very popular with the help of the async and await keywords in C#.

Recently we were using Async Await keyword while writing unit test cases in our project and found various issues in using them correclty.

As users, we prefer applications which respond quickly and do not freeze when loading or processing data. While we are less patient with applications that keep us waiting. Even operating systems are becoming more responsive, and give you the option to...

Read complete blog post

What is search console?

Google Search Console is a free service offered by Google that helps you monitor and maintain your site's presence in Google Search result. You don't have to sign up for Search Console for your site to be included in Google's search results, but doing so can help you understand how Google views your site and optimize its performance in search results. The tool gives webmasters the ability to find out if there are any specific problems that could be detrimental to being...

Read complete blog post

The DateFormatter help in the conversion between dates and textual representations.

For example :- If you are working on the project and you are dealing with date or time to show in your app screen, the date or time format you receive is different from the format you want to display. Let say you got the date in "2017-11-15" and you need to display on screen as "15 November, 2017" so DateFormatter help us for conversion in the format as we want to display.

Now let's see some more example for...

Read complete blog post

These days Javascript frameworks are part of, most of the development projects. We have to work on various JS frameworks over the period. Having good extensions/plugins added to our editor really makes our life easy and improve developer's development speed. So here I am listing some of the Sublime Text editor packages which are must for JavaScript and JS framework based projects.

We use Sublime Text editor in our organization in most of the projects. Generally, people who are working in open...

Read complete blog post

Functions are objects in JavaScript, so you can store them in variables, pass it as an argument to another function and also you can return it from the function. Yes, function returning another function.

CallBack functions are derived from functional programming and is also covered in advanced JavaScript topics but here we'll see that it is quite easy to implement.

What is a CallBack or Higher-order function?

It is a function which is passed to another function as parameter and is called...

Read complete blog post

I have been writing code in Imperative programming languages for many years. Writing code in functional programming is a big shift and change in thinking. As I recently started with Elixir and when I was reading about Functional Programming, I keep reading mention of Lambda Calculus every time. That ignited my curiosity to brush up my computer science knowledge.

As Functional programming languages implement Lambda Calculus(λ-calculus). If we understand how Lambda Calculus notation works from...

Read complete blog post

Neo4j is a Graph Database. It uses Graph Data Model to represent the data, unlike other databases which use tables, documents, etc. Graph Data Model or Graph Data Structure is composed of Nodes and Relationships that connect nodes.

Neo4j Browser

A query workbench and a visualization interface.

To install Neo4j and run Neo4j Browser - you can head to and download a community or an enterprise edition based on your requirements. Based on your OS the installation steps...

Read complete blog post

While working with any application, testing plays most important role. Data is main requirement for writing proper test cases. We need different kind of data to test complex features and here factories plays important role.

Data factory is blueprint that allows us to create an object, or a collection of objects, with predefined set of values. Factories makes it easy for us to define different kind of data.

In rails or ember we create model object to write test cases. In rails many of us use ...

Read complete blog post

In one of our Rails 4 app, we decided to move file and image uploads to another microservice so that the load on server is reduced when a big file is uploaded. We decided to do this in Phoenix.

In Phoenix, we have ex_aws package which makes file uploads to S3 very simple just like Rails. So lets get started.

Add ex_aws

Update mix.exs to include following dependencies.

defp deps do
 {:ex_aws, "~> 1.0"},
 {:poison, "~> 2.0"},
 {:hackney, "~>...

Read complete blog post

Component is one of the awesome thing in knockoutjs. It makes code more manageable, reusable and help you to code cleanly. Separating functionality in components make coding easier. You can create your own controls and use it anywhere in your project.

You can have nesting of components. You can break your sections into small reusable controls or you can have entire section of application in one component. For nesting of components there is option to pass data to child components through...

Read complete blog post

In the previous article, we have seen how to configure DigitalOcean Droplet. Now let's proceed further to set up our application repository and Ngnix with Phusion Passenger on the DigitalOcean droplet.

1. Install RVM and Ruby

We will install ruby using Ruby Version Manager(RVM) as it gives more flexibility to manage multiple ruby versions on the same system over rbenv, chruby, etc. Import RVM GPG key, before installing RVM:

gpg --keyserver hkp:// --recv-keys...

Read complete blog post

Nginx is a lightweight, high-performance web server. Passenger used with Nginx gives us many advantages. It automatically serves static assets from the public subdirectory to improve performance. Capistrano is used to automate deployment process to your remote server. Using Capistrano, you can deploy your web application on many servers simultaneously in sequence or as a rolling set.

In this article, we will see basic steps that need to be followed to configure your DigitalOcean Ubuntu...

Read complete blog post

In this article I'm gonna show you how to build MySQL Docker container image. This article assumes that you've some basic knowledge about Docker.

To run MySQL on Docker we would need to do the following

  • Install Docker engine on your computer
  • Download MySQL image from Docker Hub
  • And run the container

1) First, get the MySQL image

docker pull mysql

2) You'll need to set up your credentials and specify path for MySQL

docker run -d --name=mysql1 -e MYSQL_ROOT_PASSWORD=’mypassword’ -v...

Read complete blog post

Apple URL Schemes helps you to access system apps in iOS. Native iOS app uses this schemes to integrate with system apps and provide a more seamless experience to the user.

For example :- If your app display telephone number you can use appropriate URL to launch phone app whenever user click on the telephone number.

There are many functions of Apple URL Schemes used for such as :-

1. Phone Link :-

Phone link helps you to make dialing experience easy for specific phone numbers. It will prompt...

Read complete blog post

Ever stuck on a remote server with some file? Needed to upload/download file from remote server? Find FTP clients tedious for a simple file upload/download? Keep reading for one stop solution to all these problems.

Many a times I fall in situation where I have to deal with remote servers and just to upload a file I have to open FTP clients and have to leave command line for such a simple task. I always wondered if, there was a command line way of doing simple FTP stuffs. Then few weeks ago I...

Read complete blog post

In my previous knockout.js post, I just gave introduction and explained how knockout works. We learnt about how knockout uses bindings to make UI dynamic and how it connects to the view model

In this article we will learn custom binding. There are built in bindings like click, value, text, visible and so on. But you are not restricted to use only those binding , you can create your own custom binding.

It’s always better to create custom binding for DOM elements instead of writing jquery....

Read complete blog post

In one of app we are sending multiple PDFs as attachment, so instead of sending individual file we decided to send all PDFs in zip. I found a gem 'Rubyzip', to create temporary zip archive and send it as attachment.

Rubyzip is a ruby liabrary to reading and writing zip file.

To create a zip and send it as attachment using Rubyzip here’s a simple example:

  1. Add gem in gemfile

    gem 'rubyzip'
  2. Write function to create zip file:

    def get_zip_data
     zip_file =...

Read complete blog post

Traditionally web applications were dependent on back end for routing as A request is made to a server and based on the URL being requested the server responds by HTML.But now a days due to advanced browsers and need for speedy response more advanced code started being moved from the backend to the frontend.

Sammy.js is a tiny(<20kb) javascript framework which uses URL hash (#) to allow you to create single page AJAX applications.It has also limited yet powerful functionalities.Its API is modeled on the popular ruby framework, Sinatra, and is great for both simple and complex applications.There are basically two main functionalities of Sammy which is (1)Routes and (2)events.

Above theory is good for starting so now lets move on with example of sammy js using type script.

public addRoute(url: string, action: (context: Sammy.EventContext)...

Read complete blog post