Skip to main content

Posts

How to apply for OCI renewal of a minor at FRRO Bangalore office

The new OCI rule requires renewal of OCI on issuance of a new passport. This is typically the case for minors whose passports have to be renewed every 5 years or so. Here are the steps to renew OCI in Bangalore. The steps should be similar for other FRRO office too, however, please check with respective FRRO office. You need to visit the FRRO office located at  5th Floor, 'A' Block, TTMC, BMTC Bus Stand Building, K.H. Road, Shantinagar, Bangalore - 560027 . It located in the same building as Anand Bhavan restaurant. The office opens at 9:30AM and closes at 6pm. On the day I visited the office there were already 30 families waiting in queue at around 11am and it took 5 hours of wait for my turn. Therefore, it is best to reach there early around 9am and if you are lucky it should take less time. The application fees for OCI renewal is Rs 1400  per application which must be paid by a Demand Draft in favor of "Pay and Accounts Officer (Secretariat), Ministry of Home Affai...

Enable parental control in youtube

Follow these steps to enable parental control (also called as restricted mode) in youtube. 1. Open youtube in a web browser 2. Login to your account, if you are not logged in already. 3. Click on an icon on top right with either your profile picture or a letter. This will open a menu. 4. Look for the "Restricted mode" setting at the very bottom of the menu. Select and toggle the setting to "On".

.ssh/config: “Bad configuration option: UseKeychain” on Mac OS

After upgrading Mac OS to Mojave I started seeing this error when doing "git pull". I was able to follow the steps below as described here ; 1. open ssh config vi ~/.ssh/config 2. Add the following lines to ssh config to keep your configuration compatible with both new and old versions of openssh. IgnoreUnknown UseKeychain UseKeychain yes That fixed the issue for me. Try running git pull again.    More details about the issue are available here . 

Show hidden folders in Finder on Mac

Follow the steps as shown below; 1. Open a terminal window and type > defaults write com.apple.Finder AppleShowAllFiles true > killall Finder 2. Click on Finder icon to launch it again. That's it. If you go to the user home directory it should now show hidden files. In future if you decide to disable again, just repeat the same steps above and change true to false.  

jupyter notebook execution error: "http://localhost:8889/tree?token=xxx" doesn’t understand the “open location” message

I got this error when I tried to launch jupyter notebook on a mac. It is not a fatal error. I could still go to browser directly and copy/paste the url manually. The error indicates that when the command automatically tried to launch a browser, it couldn't find the default browser in jupyter configuration file. The easy fix is to specify the browser. Here are the steps to do so; 1.   Open ~/.jupyter/jupyter_notebook_config.py in an editor.       If the file does not exist then you can create a default config file by typing the following command;       jupyter notebook --generate-config 2. Search for a word "browser" to locate a following line.     #c.NotebookApp.browser = ''     By default it is commented. You can uncomment it and use one of the following values depending on your browser preference.     # set default browser to chrome     c.NotebookApp.browser = 'chrome'     ...

Translucent gray border around mac screen

I noticed that suddenly a translucent gray border appeared around mac screen. It made it difficult to click on window controls and widgets that were behind the border. Luckily, I was able to follow the steps described here  to get rid of it. Step 1. Open a terminal window. Step 2. Type > killall Dock That fixed the problem for me.  

setting ssh identity

I encountered an issue when pushing code from AndroidStudio to github. By default, AndroidStudio picked id_rsa identity file for git operations. However, I had created a different identify file called id_github for my github ssh key. I was able to resolve the problem by creating a ~/.ssh/config file with following content; #github account Host github.com     HostName github.com     User git     IdentityFile ~/.ssh/id_github I was then able to push code to github from AndroidStudio.

node.js and elastic beankstalk

AWS uses Nginx to proxy requests to node application. When you first deploy your app and try to load the site in a browser you may see an error - "502 Bad Gateway". To troubleshoot, you may want to check node.js logs. You could either go to elastic beanstalk dashboard to get a most recent snapshot of logs or ssh to an ec2 instance to view a log file at /var/log/nodejs/nodejs.log . In my case, I was getting an error - "Error: listen EADDRINUSE". I was starting a node server on 8080 but AWS was already running Nginx on the same port. (Note: To lookup ports in use type "sudo netstat -lnptu") . I noticed that a node process was running on port 8081. So I updated my node.js server to listen on port 8081 and that fixed the problem. I could then request the site (just using the dns name, no port required in the url since it is routed automatically to 8081 internally by Nginx). jfyi, when you use "git aws.push" to upload latest code to aws it is...

Firefox 401 - Unauthorized: Access is denied due to invalid credentials

I was getting this error in Firefox when I tried loading our company intranet site. Chrome was able to log me in fine. I found a solution on Mozilla support forum. See the image below for a fix. Set the value to true and then try loading the page again. That fixed the problem for me. Next time I visited the site it prompted me to enter username and password. 

Accepting Bitcoin payments for QuickBooks invoice

If you are interested in accepting Bitcoin payments for QuickBook invoices, follow the steps below to get started. Signup with Coinbase ( https://coinbase.com ). Coinbase is a Bitcoin payment processor. Link a bank account where you would like Coinbase to deposit payments from your customer.  Once the Coinbase account is setup, create a payment form at https://coinbase.com/merchant_tools?link_type=hosted as follows; select Payment Type = Buy Now Type a description in Item field. For example, Goods Sold, Service Charges etc. Select a default amount. (Your customers will be able to change it.) Click "Show Advanced Options". Under "Variable Price" select checkbox - "Let the user change the amount" if you want customers to input a variable amount or "Add some suggested amounts" if you want customers to select from one of the pre-defined amounts. All other fields are optional. Click generate page code.  Scroll to the bottom of th...

OS X Mavericks failed to download, Use the Purchases page to try again

I was trying to upgrade Mac OS and kept running into this error message when I tried to resume interrupted download. I was able to get around this problem by following steps mentioned below, which were originally posted in this post . Quit App Store. Open Terminal. Execute this: defaults write com.apple.appstore ShowDebugMenu -bool true Launch App Store. At the Menu bar, there should be a "Debug". Click on that and press "Reset Application" Restart App Store. After resetting the app store I was able to initiate a fresh download of Mavericks.

The basics of building an Android Application

The first thing that is important to understand as a developer is what really happens behind the scene when a user taps on an app icon. How does a developer gain access to the entry point of the application. For this post I will focus on the flow only. If you need to understand how to create your app then follow the simple instructions in this tutorial -  Building your first App . Identify MAIN activity When an app launches, the Android OS first looks into AndroidManifest.xml file to identify the MAIN activity. It looks for an activity tag containing intent-filter with name android.intent.action.MAIN. Start the APP Once the MAIN activity class is known, it then creates a new instance and calls onCreate(Bundle savedInstanceState) method. This method is the entry point to the application. Show the APP This is typically done by specifying the elements that a developer wants to display in a  layout file  stored inside res/layout subdirectory. Android makes it easy to re...

Android - Where to Start?

I am getting started with Android development. I hope to share my understanding of how to build apps and how things work in Android as I learn more. This is my first post about getting started. If you are looking for a starting point, you can easily get started by following Android online tutorials  or pickup one of the Android books such as Hello Android  , The busy coder's guide or The big nerd ranch guide . Next, to setup your development environment follow the instructions to install the Android Development Toolkit . The toolkit has a built-in emulator and so it is not necessary to buy an Android device, at least, at this time. You can get started by running your applications in the emulator. 

Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.

I was consistently getting this error in chrome for a webpage that was loading just fine in safari. I managed to fix the problem by doing the following in chrome; Go to History > Show Full History Type the site domain to filter the results to show all recent attempts to load the page. Select all entries in filtered results and click "Remove Selected items." In the same History window, select "Settings" from a list menu in the left bar of the page. Click "Show advanced settings ..." . Then, under Privacy click "Content settings..." Click "All cookies and site data..." In "search cookies" textbox type the domain name of the website where the page is hosted. Click "x" to delete all cookies associated with the domain. Exit the settings window by clicking "Done" and try reloading the page.  I hope this fixes the problem. If you followed the same steps, please let others know whether it worked or n...

NAS - Netwrok Attached Storage

I have been thinking about creating a central storage for my home computers. I have been using dropbox but I don't feel comfortable putting all my files in the cloud. So I finally pulled a plug on Synology ds212j . I was debating between synology and QNAP . I decided to go with Synology because it was less expensive and appeared to be more popular. I also ordered 2TB WD Red hard drives, courtesy amazon.com recommendations. If you are in the market for a NAS, here are a few things to keep in mind; 1.   Hard disk size : If you are planning to buy a new drive, it is recommended to go with a bigger size because it would save you the effort to reconfigure the volume . But if you are on a budget and want to use existing hard drives then you may find Synology Hybrid RAID useful. It allows you to make the most of available storage and provides simple steps to replace the hard drives in future. 2. It is not a backup : I was surprised when I read in forums that RAID is not a backup be...

The Lean Startup

My team, like many others, has adopted the Lean Startup process to quickly test and learn from customers. I expect to post a series of blogs to share our experience. In case you are just getting started, I would highly recommend watching following two FREE  videos available online. Build. Measure. Learn. Lean Startup SXSW 2012 – hosted by Eric Ries.  http://www.udemy.com/lean-startup-sxsw-2012-videos-and-presentations How to Build a Startup – Steve Blank (teaches Lean Launchpad class).  http://www.udacity.com/overview/Course/ep245/CourseRev/1 You should also subscribe to their blogs; Startup Lessons Learned Steve Blank's blog The concept of Lean Startup is very simple. Put something out in front of customers as quickly as possible to get their feedback. 

YouTube ipad app, please!

I upgraded my ipad to iOS 6 and I am already regretting it. My 2 year old was very comfortable using the native YouTube app that was part of previous iOS.  I downloaded YouTube iphone app but it is not as intuitive as the native app. I wish there was a way to revert to iOS 5 or a new app from Google for iPad.