Posts

Showing posts from 2018

Working out Concave/Convex Hull

This post is nearly like a continuation of my previous post.  But not necessarily need to be followed. This post itself is a note on my learnings with finding out a concave hull solution for a project that I worked on recently. Requirements: We had a requirement where the user would simply freehand draw (FHD) on a map view and we should be able to fetch the list of users located/contained in that region. Our Tools: We used MongoDB as the backend, which provides us with beautiful queries/API's  fast enough to search the list of users(we have in our DB) within a given polygon (Polygon = Freehand drawing enclosed with the starting & ending points, hence forming a region). The only issue with MongoDB search is that it expects a perfect polygon with no intersection at all. If a single point in the polygon intersects then it'll simply throw out an error . Not sure if MongoDB guys did this intentionally, but it leaves its users with a huge burden/workaround to handle &a

Free Hand Drawing on Apple Maps

Image
This is kinda a note based on the learning I've had working with the Free Hand Drawing(FHD in short) on all the major Maps(Google, Mapbox & Apple Maps) on the market. So, If you'd like to have an in-depth technical understanding, please refer this  post which was my first experience with FHD on Google Maps that delves deep into the Google Maps SDK explaining the FHD functionality & its implementation. And to get a context on the Mapbox based FHD solution, please do refer this blog. What I learned with Apple Maps: Apple Maps iOS SDK doesn't differ much from Mapbox iOS SDK, most of the API's has almost the same signatures/pattern, it almost looks like a copy-paste from a developer(API User)'s perspective, Not sure if Apple Copied from Mapbox or vice-versa(I pick this), but the mapping system works totally different internally especially w.r.t the FHD features like polylines, polygons etc. The FHD works smoother on Apple Maps and there are some major di

What I Learned While Building my Noisli Clone Musicly in React Native and Expo

This is only a note on the Blog post I wrote on Medium (that's getting garnered with a huge view counts & some claps, which I see it as a gratitude from the community) on the stuff I learned while developing the Noisli clone app in React Native. I think there's no such tutorial/blog that explains the Pros & Cons and the different ways of developing the React Native apps, hence I think the blog post serves several kinds of people starting from a Fresher to even an Experienced developer who hasn't developed/tried all the approaches. I consider this article as a unique one as some of the people have conveyed/thanked me personally the same way that I had thought of and wrote it initially. I always feel it's better to have multiple touch points to some great posts/articles, hence adding a note here as well for those who haven't seen & would be interested to take a look at. Enjoy!

iOS: Playing with Static Libs, Fat Frameworks, Static/Dynamic Frameworks with Swift & Objective-C classes mixed up

Recently, I got to know few facts on how exactly Static Library(SL), Fat Frameworks(FF), Static/Dynamic Frameworks(SDF) actually works while I was working on a legacy code base which had a ton of all of the above stuff working altogether. This article is to log the few notes on the struggles we faced with having all these above things mixed up altogether with both Swift & Objective-C mixed up. Static Library(SL): Static Libraries was the initial(Way too Older now) way of code distribution where any project integrating the library would include .a file(Which contains the implementation classes) and all the header '.h' files separately along with the .a file in order for them to work in conjunction. Fat Frameworks(FF): Fat Frameworks are nothing but just the Static Library compressed as a framework, which was a means of distributing the code before Xcode6 when Apple introduced Static/Dynamic Frameworks(SDF). Static/Dynamic Frameworks(SDF): In Frameworks world,

Free Hand Drawing on Maps with MapBox SDK

Recently, I got to work on the MapBox SDK for iOS. So, this is a short journal of my experience with it. Basically, it's a MapBox SDK based freehand drawing article. For those who are here for Google Maps based solution, then please refer this blog  which is again based on  this lib . This is not a Google Maps Vs MapBox debate as well, please make up your mind before starting up. [Note: Am not aware of the updates to the Google Maps SDK since 2015] So, let's start with what I've got to say. I've already created a Freehand Drawing(FHD, in short) tool, implemented way back in 2015, which was based on the Google Maps SDK, hence for MapBox based FHD solution, I was already 50% done. In the existing implementation, I have the touch detection and coordinates collection, polyline drawing & polygon drawing logics already implemented and in place, but all of them were using the GoogleMaps API's. So, the 2 main parts/API's that I'll need to look in M

Learning/Notes on Deploying a NodeJS app on Heroku, Amazon-AWS and Docker

Image
Note/ Warning: Am not going to go deeper/step-by-step into the deployment process and I'm not going to go deeper into the Pros & Cons by comparing them against each other, as well.  I just wanted to share my learnings/difficulties faced in the process of deploying my server app to Heroku, Amazon-AWS & Docker-Cloud. Heroku: This is very straight-forward where you have different options: Deploying with Git: Just like how you use Git to push code to your Git repo, you can push your Heroku app onto their server using the very similar commands. This is easiest/simplest way to deploy apps on Heroku. GitHub Integration: If your repo is hosted on GitHub, then this is like a piece of cake, you can simply automate your whole deployment process. Dropbox Sync: If you're not hosting your repo for any reason and just saving them into your Dropbox folder, then also you're covered with the Heroku's easiest Deployment process. You can simply connect your Heroku ac