Posts

Startup founders cheatsheet (Chief product officer)

Image
Define your goals  The basic definition of "mission" and "vision" of the company is critical when we've past the stage of experimenting with the startup's model and helps you prioritise better. From the  Expedia page  it looks like this: "Our Mission is to Revolutionise Travel Through the Power of Technology", in this case, it is also helping the company know that leveraging and scaling with "technology" is imperative for the company (along with operations).  Set 2-3 basic targets for the next 2-3 months (possibly 6 months) These might be pretty standard and should align with the mission / vision of the company. If your company wants to be the #1 company in Asia for travel, these basic targets might be: Scale to 100,000 app downloads across platforms Increase revenue by 15% Increase daily unique visitors to 3 times the current value    Image Source: Mind the product Goals help define epics and create a huge back...

6 Ways for Product Managers to keep their developers happy and inspired

Read it on yourstory The concept of “Product Management” in Software Product Company involves a high volume of interaction with the technical teams. When I say that, the first thing that comes to our minds is “Duh! That’s common sense!”, but quite often we don’t do the “interaction” part in the right way. Product Managers are the CEOs of their own products, they are responsible for the technology, operations, sales, and accounts – basically the success of their products. Hence building the correct product and getting the development effort in the right direction is imperative, and by doing that, we ensure our contribution towards creating a strong and inspiring technical team in the long run. Some key attributes which makes your role as a “Product Manager” a big hit with the technical folks can be - Stay Calm – Be a good listener. Don’t rush your developers into making something without understanding the technical challenges in the current scenario and the l...

Image Cropping and Scaling Algorithm using linear algebra

THE SCENARIO : I had to formulate an algorithm to convert an image of some resolution - say L x M and crop / re-size the image into a new resolution say P x R such that I cover the maximum amount  of points/pixels from the original image . APPLICATION : This can be pretty much applied in a generic way to all programs and websites in need of an optimized algorithm to rescale / reduce the size of the original image in their application such as profile images in social networks etc. THE APPROACH : To cover the maximum amount of pixels from the original image we have to focus on cropping the image to the target aspect ratio first and then re-scaling it to the new resolution. Hence, the problem comes down to achieving the target aspect ratio that would help me capture the maximum amount of pixels of the original image so that I end up with an image which is pretty close to what the original image should have been in the new resolution. DETAILS : The sig...

Stemmers and Lemmatizers in Search Algorithms

Searching / Search Engines are an essential part of every content specific software or web product. The essential part of a good search engine might involve indexing of the content to be searched so that the content can be stored like a hash table to access the content at O(1) complexity. How do we achieve this indexing? There are two conventional ways to achieve this, which are Forward and Reverse Indexing . While Forward Indexing involves storing the indexes on a sample to token hash table format, Reverse Indexing stores the indexes as token to sample format. For example if the sentence to be searched is - 'what is love?', the tokens would be 'what', 'is' and 'love'. Now the entry as per forward indexing would store the key as 'what is love?' and the value as a list of tuples 'what', 'is' and 'love', while as per reverse indexing , we would append the keys 'what', 'is' and 'love' withe the ...

Yet another NodeJS chat prototype

Image
Technologies used : Nodejs Socket.IO Express Framework for Node MongoDb Disclaimer : The code / concept here is pretty novice, good for people just starting with nodejs but needs a  lot of refinement. Installation  : You can download nodejs installer according to your OS from nodejs.org or use your OS repositories for a copy of nodejs supported by your OS. The rest of your packages viz socket.io and express are stored in the nodejs repositories and can installed using the following commands: > npm install socket.io  > npm install express MongoDb can be downloaded from the mongodb.org website and you just have to run mongod daemon to ensure the database service is running. The code for the chat server is available  HERE . Set the mongodb host and port settings on db_ops.js and on the parent folder run: > node server.js You would see something like the following image on the server log: Open up browsers, connect to the server ...

Python-C-Extension

Skeletal code to create exposed C, C++ Extensions for Python Just wrote some generic handy code which I thought I'd upload. Performance boost of using C, C++ extensions in some operations is quite significant and proven. Use this code to add pre-written C, C++ code and build it in a way that it's functions are exposed as python packages. The code has been hosted on github HERE . Build to a shared object to access the c library as a python package. usage: > import helloworld >helloworld.printhelloworld() Θ Ω Sushant ♂

NPM / NODEJS installation issues [RESOLVED]

Yesterday I decided to give node.js and socket.io a shot and make something good out of it. The first thing that we do is install stuff right.. So I thought I'd go the easy way, wget all the installable packages from nodejs.org for the mac and I was hoping things would be stable. But 'not' to my surprise (as this keeps on happening), when I started out using npm (the package manager or let's just say the easy_install python alias) that comes with the latest installer started giving me issues like the following whenever I typed npm install socket.io or even npm -v(to check the version) for that matter - node.js:201         throw e; // process.nextTick error, or 'error' event on first tick               ^ Error: No such module     at Object. (/usr/lib/node_modules/npm/lib/utils/config-defs.js:5:21)     at Module._compile (module.js:441:26)     at Object..js (module.js:459:10) ...