All Blogs
Written by Kiprosh, team of passionate and disciplined craftsmen turning your ideas into reality.
Kiprosh
is now part of
LawLytics
Written by Kiprosh, team of passionate and disciplined craftsmen turning your ideas into reality.
As a tech organisation, we always strive to find suitable talent for available positions, and then move them quickly through the application funnel, from sourcing to hiring. The goal is to onboard a potential candidate as fast as possible. In this endeavor, we decided to automate our recruitment processes so that the overall time to screen, interview and to release an offer is relatively faster. Background Interested candidates apply on our website through careers page. We have a referral program for our associates so it also resulted in wider interest. We also receive direct applications through email on careers@kiprosh.
We have one CRM product of our client and we are in process of automating it. In that, we have one orders section where user can place orders for either themselves or for the customers. In the orders flow, since the user is purchasing product of their choice which are customised niche products – we have a requirement for the user to accept the agreements, and also sign the agreement, before they can go ahead and make a payment for their purchase. In theory, this sounds pretty straightforward to do as most of the applications have some agreements to accept inorder
Thumbnails becomes inevitable part of the process when dealing with images. They provide us a way to give a peek through the original image which helps in building rich user experience in modern applications. In an internal productivity tool while building this experience, Our whole attachments feature was ready and we had found the only available option in Elixir/Phoenix ecosystem Thumbnex for generating thumbnails. Once we started integrating this library, we almost immediately got hit by following error: ** (ErlangError) Erlang error: :enoent (elixir) lib/system.ex:622: System.cmd("ffprobe", ["-show_format", "/var/folders/
Scaling node application can be tricky. It isn’t an easy topic. It requires lots of expertise both in terms of having knowledge about node nuances and how to manage resources. You can scale your application either by Vertical Scaling or by Horizontal scaling or by both. Apart from these, there are other factors that should be considered for better Node performance is either using ‘Cluster’ Mode or ‘Worker Threads’. We are going to focus on ‘Cluster’ Mode. Cluster Mode is used to start up multiple copies of nodes that are all running your server inside them. As we know
The Autofill framework introduced by Google from Android Oreo i.e. 8.0 (API 26) and later. With the help of autofill framework user can store their username, password, email, and credit card number, etc. just like a web browser. Benefits of Autofill Reduced time: Filling form is a time-consuming process; autofill framework helps to saves users from retyping the information. Reduce input errors: Typing is prone to errors, especially in mobile devices. Using this it is not necessary to type information also removes the errors that come with it. Prerequisites OS Version: Android 8.0 or later Autofill Service:
This article shows the very basic application set up required to host a rails application with Angular 5 framework Angular - Is a modern javascript framework for building web application in javascript,html and type script(super script of javascript) Such kind of working will have two separate servers. One server will be hosting rails part and the second server will be hosting the angular part. The HTTP request raised will have a different origin header, than that of the server hosted, and hence the request will fail. A cross-origin HTTP request (CORS) is used when the request is raised
When you make a Slack Bot, Slack provides you with client_id and client_key . Using these , we can authenticate incoming requests to add our Bot to any Slack Workspace. Workspace here means any slack subdomain or a Slack team. Once the incoming Workspace request in authenticated, Slack API provides us with the team access_tokens. Which can be used to access the concerned workspace to listen and respond back in any added channel or DM. While making this Bot, I was a little curious to know if saving the team credentials in our DB for monitoring and responding back
In this article we are going to have look at some methods of Ember.computed class which helps you to refactor code or write more readable code. And most importantly if ember provides its own methods then why to write code with number of lines to do same thing. Ember.computed class documentation: Ember.computed getEach: This method returns all the values for attributes passed as argument. var names = [] this.get('model').forEach((user)=>{ names.push(user.get('name')); }); This can be simply done as: this.get('model').getEach('name'); It will return array of names. sum: This method
Routing is one of the toughest thing to Implement in Single Page App In React Ecosystem it is pretty much industry standard to use React Router to do routing. React Router have nice API and pleasant to work with but there few Issue that I faced while using React router If you have declared component and it is not rendering It could be below three Issues. First, if you are using any state management solutions like Redux or Mobx if you have assigned different components to render in a different path like below we are using render function instead of
I personally love this combination of iTerm2 + ZSH + Oh-my-zsh. iTerm2 is an amazing terminal, I always prefer it over macOS default terminal. If you want to install it then just go to iTerm2 site , download it and install. It has many advantages over macOS default terminal. Some of those are, easy finder you can easily search for the text in terminal, nice autocomplete feature, split panes, paste history and many more. I would highly recommend it and you can explore all of its highlighting feature Oh-my-zsh (OMZ) really makes terminal (iterm2) more interesting and useful. You do not need to