Founded printwithpi.com. Currently working at MoEngage and some personal projects.
Consultation, offline discussions, and general meetup!
I do feel Amazon should have open-sourced this kind of technology. At work, we have hit the problems with MongoDB which many people face: Huge number of concurrent writes/reads Re-sharding as data continues to expand rapidly If such maintenance pain points are reduced by a managed service, it does allow developers to be more productive. However, the article mentions that DocumentDB is based off of Mongo from 2 years ago! That is a cause for concern. Really feel that technology with this kind of promised impact should have gone the Kubernetes way and enabled everyone to use and contribute. Maybe this pushes Google to follow suit, albeit the OSS way.
Hey Sandeep Panda , thanks for this awesome question! Code at github.com/sidhantpanda/FoxGooseCorn . We can assume a state of the the game represented as a string of 0 s and 1 s. 0 means the character is on the right side and 1 means the character/item is on left side. The 0th index represents the Farmer. The 1st index represents the Fox. The 2nd index represents the Goose. The 3rd index represents the Corn. For eg, the string "1011" represents: Farmer is present on left side. Fox is present on right side. Goose is present on left side. Corn is present on left side. Now each index has 2 possible values -> 0 or 1. Hence the total number of states the game can possible go into is 2^4 = 16 . We have a forest of all the states possible: [0000] [0001] [0011] [0111] [1000] .... [1100] ... [11110] .... Now as per the question, there are some illegal states which will lead to the game stopping. We'll mark these states as invalid. Now we check each state and find the possible next state from it (provided its not invalid) and add a directed edge between them with a weight of 1. Now we have a directed graph and we can easily use Dijkstra's algo to find the shortest path and steps required. The time complexity for setting up the forest is O(n). Thus our whole solution is limited by the time complexity of Dijkstra where we are using a MinHeap as a priority queue. Would recommend everyone to give this question a try! It touches a lot of concepts: Graphs MinHeaps (used for maintaining priority queue during the last phase) Dijkstra Algo (to find the least number of steps and the shortest path)
First and foremost, what kind of panel are you looking for? If you are not gaming on the monitor, then you can go for IPS and VA panels (as they have lower refresh rates). Both these panels have pretty good contrast ratios and color reproduction. If you are planning to upgrade your setup for multiple monitors in the future, then make sure the monitors support VESA mounting. You can then get a single stand for the multiple monitors. Depending on your preference, you might want a monitor which can be used vertically as well. BenQ and Acer are amongst best value for money monitors. Dell is a bit more expensive but gives you a premium feel. I too am researching monitors for programming and here is my shortlist till now: Acer EB321HQU LG 24MP88HV Dell U2415
I work primarily on web apps and I use MacBook Air 13" 2017 model (for work, it has all the firewalls configured) MacBook Pro 13" 2015 model (for personal use) Both these machines are damn good and keyboards on them work pretty well. My next choice of machine would be the new Dell XPS 13 . Still thinking if I would get rid of windows entirely or dual boot with Ubuntu as I am not dependent on any software which runs only on Windows. I am sitting out this generation of MacBook Pros because of the keyboard and the Touchbar. While keyboard might be improved, I don't think they'll get rid of the touch bar or provide models with the same specs as the touch bar variants (non-touch bar variants are low er -specced). I love the physical esc button too much.
Tested out Firebase's ML Kit on-device APIs. Created a sample app to take camera feed and recognize text from it. No internet required! Currently handwriting recognition is not supported. https://play.google.com/store/apps/details?id=com.sidhantpanda.mlkittest
First programmed in BASIC. First two programs where hello world and a calculator. Interestingly, I realize now, it was the first time when I learnt about input validation when I had to show an error message for division by zero!