Sunday, April 7, 2013

US taxes and reporting for foreign income

US tax season is at its peak and I just finished filing my taxes for 2012. There are two requirements on an US tax resident if he/she has foreign income:
  1. Paying US taxes on the foreign income
  2. Reporting foreign financial assets to the IRS (FATCA) as well as Dept of Treasury (FBAR)
US taxes on the foreign income
 
Unlike many countries, a tax resident in US is required to pay taxes on his/her global income. It means if you have any income in a foreign country, you have to pay taxes on that foreign income in US as well as in the foreign country (if applicable). Interest from the foreign bank deposits, dividends from foreign stocks held in a foreign institution, sale of foreign real estate, foreign wages or salary, etc. are a few examples where taxes are due in US. 

If you think this is double taxation, you are right; paying taxes on a stream of income where it was earned as well as in US is double taxation. To solve this issue, IRS allows you take tax credits for the taxes paid in other countries. These credits are called the Foreign Earned Income Credits (Form 2555). You are allowed to reduce your US taxes by an amount equal to the dollar equivalent of the taxes paid in a foreign country by filling the Form 2555.

Here is what I had to do for 2012 tax season. I have a few investments back in India that generate interest income for me. I reported the following foreign income to IRS on form Schedule B
  • Interest income from investments that are taxable in India. 
    • This is interest income from fixed deposits and bank savings accounts.
    • It also includes interest income from any loans that you gave in a foreign country. For example, if I gave a loan to a person or a company in India, I need to report the interest income from that income in India as well as US.
  • Interest income from investments that are tax-free in India
    • This is interest income from tax-free investments like PPF, infrastructure bonds and other government securities.
Note that any income generated in India, be it from a taxable or tax-free investment, is taxable in US. You are required to report it and you can claim tax credits if you paid any taxes in India. As for me, my income in India was in the tax-free slab so I didn't pay any taxes in India (Read: couldn't claim foreign earned income credits) but had to pay substantial taxes in US on that income. :(

There are other sources of foreign income like dividends from foreign stocks, capital gains from sale of stocks, mutual funds, real estate etc, gifts from relatives and income from foreign trust or an estate. They don't apply to me (yet), but if you have questions regarding their tax treatment, leave a comment and I will be happy to help.

 
Reporting foreign financial assets to the IRS (FATCA) as well as Dept of Treasury (FBAR)
 
Up until a few years ago, US residents (Read: rich people) could evade US taxes by moving their assets to tax havens or countries with less taxes. This allowed one to hide their financial assets from the IRS and in turn, evade US taxes on income generated from these assets. Also, one could simply renounce US citizenship after having made billions of dollars and move to a country with a more favorable tax treament. Link.

In an effort to prevent these instances of tax evasion, US Congress passed Foreign Account Tax Compliance Act, known as FATCA, that required tax residents to report their foreign financial assets to IRS with stiff penalties for non-compliance.

As if one overly broad and complex law (FATCA) was not enough, US Congress also passed Bank Secrecy Act to prevent money laundering, tax evasion, financing of terror groups, etc . Under this law, Dept of Treasury was authorized to collect even more information about foreign assets of US residents via Report of Foreign Bank and Financial Accounts, known as FBAR. This is over and above the FATCA reporting requirements.

To summarize, if you are a US person (definitions are so broad, practically everyone living in US is included), you are required to file Form 8938 for FATCA compliance while filing your taxes (due in April every year) and FBAR forms (due on 30th June every year).

The eligibility requirements for FATCA and FBAR are slightly different. 
  • Go here to check if you need to file form 8938 for FATCA compliance: Link
  • Go here to check if you need to file FBAR forms: Link
This is a handy comparison table from IRS to determine if you need to file any or both of FATCA and FBAR forms. 

Once you determined which forms you need to file, you need to start collecting information about the foreign financial assets. This includes
  • Names of the Financial Institutions, their address and phone numbers
  • Your account numbers
  • Amount/Value of the assets in these accounts
Populating the FATCA and FBAR forms is straight forward once you have all the above information. 

If you are still with me, I applaud you. This is a lot of information to digest. Now, go get started on your taxes, FATCA and FBAR forms. I am planning to write follow up posts about FATCA and FBAR, going into details about filing requirements. In the meantime, if you have any questions, leave a comment below and I will be happy to help.

Sunday, February 24, 2013

Safe and secure web browsing

I was recently walking my wife through all the tips and tricks for secure web browsing that I accumulated over the years. I consider this knowledge essential for anyone browsing the internet. Share it with all your non-technical (and technical) friends and spread awareness about secure web browsing.
  • Always check for https:// in the address bar when visiting a website with sensitive data like financial websites, email providers, etc. HTTPS is a secure protocol for communication over the internet. You should use the https://  version of a web page whenever possible. I use the HTTPS Everywhere extension in Firefox to force my web traffic over HTTPS.
    Check the if the website supports HTTPS
  •  Always hover over a link in your web browser to see what website it would open. NEVER trust the name of the link. See the picture below:

Hover over a link with mouse to see where it points
  • Avoid clicking anywhere when visiting an unknown website. 
  • This is common knowledge nowadays but bears repeating. Don't open email attachments from people you don't know. I am skeptical about email attachments even from people I know. Always ask others to share files with you via one of the various cloud storage services like DropBox, SkyDrive, Google Drive, etc.
  • Never download and install software from websites if you are uncertain about it's authenticity.
  • Never download anything (music, videos, software) via BitTorrent. This is a major source of malware.
  • Avoid visiting web sites that provide free music, movies, sports downloads or streaming. 
  • Always use strong passwords that contain numbers, capital letters and symbols. This post from LifeHacker has a nice infographic on how to create a strong password. 
  • Use a whitelist of contacts, instead of a blacklist, for your incoming email to avoid phishing emails in your inbox.
  • When emailing a large group of people, use BCC instead of TO or CC
  • Use NoScript and Adblock Plus on unknown websites.
  • Always keep your OS, browser and anti-virus up-to-date.
  • Enable safe search for your favorite search engine.
  • Enable Windows Firewall 
  • Read more about online safety at the US CERT website

Wednesday, February 6, 2013

Surface RT unboxing

I recently collected my Surface RT that was distributed to all Microsoft employees. Here are the unboxing pictures:







The box, the Surface, the package design are all very slick. My initial impressions are positive, though to be fair, I have mostly been using my Surface for playing games and web browsing. There is a decent collection of apps in the Windows Store and that number increases every time I visit it. I am very excited about the product and the progress it is making. Do you plan on getting a surface? Let me know.

Friday, January 25, 2013

How to write a good resume?

Every so often, I am asked by a friend to review their resume. The person is either looking for a new job, is a new college graduate or someone applying for MBA school (apparently they look at your resume for admission). I see myself repeating the same instructions over and over about what should or shouldn't be in a resume, what is important, who is the audience, the priority of different sections, etc. So last week, when a friend asked me to review his resume, I thought it would be a good idea to put my thoughts in a blog post for the public good. While the points below are written from a programmer's perspective, they apply to all professional fields equally. So here are the guidelines for a good resume in an open, always connected and social world.

Content (What do I put in my resume?):
  • The basic purpose of a resume is to highlight your skills, achievements and experience to the prospective employers. Every thing else is secondary. 
  • Always, and I mean always, list your Skills and Experience at the top of the resume. That is all matters when applying for a job. If you are fresh out of college, Experience section can make way for Education section.
  • Under the Skills section, list all skills that are relevant to the job. If you think you are a multifaceted personality, it helps to categorize your skills. Avoid coming across as a fake by listing every skill known to man.
  • For the Experience section, start with the most recent position first. For each position, list what YOU did, what YOU learned and how YOU helped the project/team succeed. This is what anybody reading your resume is really interested in.
  • Education section, if needed, should follow next. List the relevant degrees you hold in the chronological descending order. Make sure you atleast mention the degree title, graduation year and university name. 
  • It is usually helpful to mention the various projects you have worked on in college or the side projects outside work. This shows that you are passionate about what you do. A link or a pointer to your work (code/arts/portfolio/whatever) helps a lot.
  • Remember to mention any awards/recognitions/achievements in your academic or professional career. And no, memberships of professional clubs and organizations don't count.
  • Only if you have strong recommendations from your managers/peers/professors should you list them in a resume. A so-so recommendation does more harm than good. Make sure to let your  referee know that you are listing them in your resume. At the minimum, list your referee's name, title, email and/or phone.
  • You don't need the personal interest section, people don't care if you are a collector of rare swords or you speak Shyriiwook (the language of Wookiees).
  • I think the objective of a resume is clear. To land a job. Still if you think it needs to be there, it should be a one-liner.
  • And last but not the least, your name must be on the top of the resume in a noticeable font. Under contact information, just mention your city, country and email. Phone number is okay if you work in a non-technical field. Leave the address from the resume. No one is going to send you a letter. Gone are those days :)
Size (How many pages?):
  • The size of  a resume (in pages) depends on the context and the audience. One page resumes are generally recommended.
  • The resume of a new college graduate should ideally be one page long listing his skills, education, work experience & internships (if any), projects and awards. More emphasis and space should be given to skills, education and experience section.
  • If you have substantial work experience, list your most impactful and revelant skills and experience in one page resume. And you should provide a link to your complete resume at the end, if anyone is interested to know more.
Tips and Tricks:
  • Save space by putting your name, email, phone on a single line.
  • For each position you have held, be brief and avoid specific details as no one will know what they are. It is more of a distraction than useful information.
  • Be specific. Avoid business jargon and vague statements like result oriented, driven, specialist, deep domain knowledge. They are not quantifiable and come across as page fillers. 
  • If you have real achievements, list them. Professional skills should mostly be quantifiable. 
  • If you claim leadership, make sure it is demonstrable by an example. Otherwise, you sound like just another guy.

If you find this blog post, I consider it time well spent. Happy job hunting!

P.S: Here is a link to my resume.



Tuesday, November 13, 2012

Web apps and services for 2012

Web services and connected devices are ubiquitous today. A services first world is coming and we better be ready for it. With that mind, these are the web services that I use daily and find indispensable.
  • Microsoft Services
    • Outlook.com - Calender, Contacts, Email
    • SkyDrive - Cloud Storage and Sharing
    • Office Web Apps - Document editing. OneNote Web app is awesome. 
    • Bing (Search, Maps, Travel)
  • Google services
  • Apple iCloud
    • Contacts
    • Calender
    • Find My iPhone
    • Notes
  • Yahoo!
    • Mail - Calender, Contacts, Email
    • Finance - Stock market and investment tracking
    • Flickr - Picture storage and sharing
  • Music streaming
  • Video streaming
  • Facebook
    • Email
    • Social Networking - Duh!
    • Identity
    • Comments
  • Twitter
  • Klout - Social media influence measurement
  • IFTTT - If this then that. Automate the internet. IFTTT is awesome. I can't believe it took so long to invent this service.
  • Dropbox - Cloud storage
  • Mint.com - Aggregates all your financial data from banks, credits cards, mutual funds, 401K, brokerages in one place and presents it in beautiful UI and visualizations. Highly recommend.
  • FutureAdvisor - For the investment n00bs and beginners. Wish it were around when I started learning about investments and personal finance.
  • BillMonk and SplitWise - Bill split and tracking service for your friends and roommates. College would be a pain without BillMonk. But, BillMonk is in bad shape these days. I would recommend SplitWise instead.
  • Shutterfly - For all your photo printing needs. The web site UI sucks big time but the pictures and albums are nice looking. It's reasonable too.
  • FancyHands - Your personal assistant. Neat idea, go try it atleast.
  • Otixo - Managing multiple cloud storage services is a hassle. I already have DropBox, SkyDrive, multiple Google Drives and other I don't even bother with. Otixo is an awesome service that lets you manage all the files across different accounts in one app. If you use more than one cloud storage service, you need Otixo. Thank me later. :)
  • Quora and StackOverflow - Modern versions of online message boards. Big shout out for StackOverflow. It is indispensable for a programmer.
After I was done listing all the services, I was surprised at how indispensable Google, Microsoft and Facebook services are to my personal and professional life!

Let me know in comments what cool services that you use. I am quite sure I missed a few.

Wednesday, November 7, 2012

Devices and Services

We live in a world of connected devices and services. Smartphones and tablets ushered in an era where all your data and content was stored on a server (think cloud computing) and devices were a way to access that data via numerous web services. It all started with Apple's iOS and Google Android. iOS doesn't have a File Explorer, leading the users to increasingly store their data online. This had an added advantage of cross-platform accessibility. You could access your data from iOS, Android and numerous other devices via apps and services. 

This trend is leading us to a point where our devices are increasingly becoming stateless. This means that your data is synced and backed up in the cloud and can be accessed easily via another device. You don't have to worry when your device breaks or is lost, a new device can easily be restored via a service. 

Google's Chrome OS was designed with the intent to create a stateless operating system. You could log in to any Chrome OS device with your Google Account and it would be in the same state as you left your older device. More recently, Apple, Google and Microsoft all let you seamlessly back up your device (phone, tablet and PCs) via iCloud, Google and Microsoft accounts respectively. A couple years ahead in the future, I see our devices become completely stateless. You could use an Apple manufactured device to access all the data and content in Google and Microsoft services and vice versa. New services and companies will spring up that enable easy migration from one ecosystem to another.

Don't like the new iPhone? Just get an Android or Windows Phone and log in. You will get access to everything you have created or consumed via services. In a way this represents a fundamental shift in how we consume software. I see Google, Microsoft and to an extent, Amazon, leading the way in a services-first world. I am extremely excited as Microsoft tranforms itself into a devices and services company.

Sunday, November 4, 2012

Horrible experience migrating away from Posterous

When I created this blog, I hosted it on Posterous. I wanted an easy to use, modern and free hosting blogging platform. Given my criteria, only Posterous and Tumblr fit the bill, although Wordpress.com came close. I eventually decided to use Posterous because of the numerous way one could post to the blog, emailing your blog post being one of them. I was quite happy with Posterous until Twitter decided to buy the company. Twitter said they would keep the service running and provide easy migration tools to other blogging platforms to help the users. In reality, Posterous was neglected while it's competitor, Tumblr pulled ahead with new features.

While I knew I would have to move away from Posterous eventually, I kept using the service till the day I couldn't. That day came sometime in October when I couldn't post and share on my blog. So I decided to move this blog to Tumblr as I liked the clean, minimalist designs of tumblogs. But moving an existing blog on Tumblr is a PITA to put it mildly.

Tumblr doesn't provide any tools to import blogs on their platform. And they don't make it easy for third party developers to it as well. Here are a few ways I tried to move a blog from Posterous to Tumblr. 
  • Autopost from Posterous to Tumblr
    • Arguably one of the easiest way to migrate a blog to Tumblr. The way this feature was implemented, the whole post was duplicated on your Tumblr. The Posterous team also made sure that any content (images, videos, audios) in the blog post was hosted on Tumblr when auto-posting. Unfortunately, Tumblr changed their API to use OAuth after Posterous was sold to Twitter. The Autopost feature of Posterous was not updated and hence this way of migration was broken.
  • Posterous to Wordpress to Tumblr
    • Wordpress has import tools built-in that allow one to migrate a blog from all of the major blogging platforms to Wordpress. This was quite straighforward.
    • The tricky part was to move the blog from Wordpress to Tumblr. I found a php script online that let could do this, but it also didn't work because of the Tumblr's API change to use OAuth.
  • Posterous to Blogger to Tumblr
    • There are few ways to migrate to Blogger. 
      • You could autopost all the posts to Blogger (this feature still works). You would have to update the post dates for all the posts. Also, your media content isn't hosted on Blogger, so you will also have to update the links to the content.
      • Posterous to Wordpress to Blogger: Import your blog to Wordpress. Then you use this online tool to move your blog from WordPress to Blogger. 
    • Here again, I hit the wall where there is no way to move to Tumblr from Blogger. 
After spending considerable time and effort to my move blog to Tumblr, I gave up and decided to evaluate other options (On the bright side, I learnt a lot of technical details about Wordpress, Posterous, Tumblr and Blogger platforms). Self-hosted or Managed Wordpress blog and Blogger were obvious choices. But I shied away from Wordpress once again because of two many bells and whistles that I have to worry about. So, Blogger it was.

I had already import my existing content and posts to Blogger using the tool I mentioned above. All I had to do was to update the DNS records to point to the Blogger domain and my blog was alive on Blogger. I did some tweaking to the layout and templates, disabled the built-in commenting feature, added Facebook commenting to the blog and I was all set.

I would like to conclude by saying

To Twitter/Posterous, ditching your users is NOT COOL. But what else could I expect from Twitter?

To Tumblr, stop being so stuck up about migrating TO Tumblr from other platforms.You just lost a user.