Mapping Your Google Location History with Python

Small map of my Google location history data in the San Francisco Bay Area, 2012-2016I recently wrote about visualizing my Foursquare check-in history and it inspired me to map my entire Google location history data – about 1.2 million GPS coordinates from my Android phone between 2012 and 2016. I used Python and its pandas, matplotlib, and basemap libraries. The Python code is available in this notebook in this GitHub repo, and it’s simple to re-use to visualize your own location history.

Just download your JSON file from Google then run the code. First I load the JSON file and parse the latitude, longitude, and timestamp with pandas. Then I map my worldwide data set:

Map of my Google location history data worldwide, 2012-2016 Continue reading Mapping Your Google Location History with Python

Pattern Unlock an Encrypted Android Phone

We’re all familiar with the possibility of data security breaches. Web sites get hacked, passwords get compromised, laptops get stolen. To mitigate these risks, we (try to) use strong passwords, keep our computers under lock and key, and encrypt our personal data. But what about our phones? They are increasingly relied on as mini-computers in our pockets, replete with email accounts, banking apps, and sensitive Dropbox files. Many apps store usernames and passwords in plain text.

What happens if your phone gets stolen? Many people don’t have any security or lock screen enabled at all. Others simply use a pattern or short PIN that is easily cracked in minutes. Android offers encryption, but it’s turned off by default. It’s also very inconvenient. To be effective, encryption requires a strong password, and Android (4.x) requires that you enter this password to unlock your phone when it boots-up, and also every time you unlock the screen.

The problem is that once you encrypt your phone, Android (again, versions 4.x – maybe this will change in a future release!) disables the ability to lock/unlock it with a pattern (annoyingly) or with a different, shorter PIN (perhaps understandably). Having to type in a long password every time you want to use your phone makes this is a non-starter for most users.

Ideally, we would enter a strong password to unlock and decrypt the phone at boot-up, and then use a simpler, user-friendly security mechanism (such as a pattern) to unlock the phone throughout the day. This would balance the benefits of strong-password encryption with the practicalities of making the phone accessible throughout the day.

Continue reading Pattern Unlock an Encrypted Android Phone

How to Root a Nexus 4 in (Almost) Plain English

Unlock and root a Nexus 4One of the major benefits of owning an Android phone is its flexibility. You’re not boxed into Apple’s heavily circumscribed walled garden. Your phone is part of a fairly wide-open ecosystem and you can have total administrative control to tinker with its powerful hardware and software. How? By rooting the phone to give yourself administrative root access.

The main hurdle for most users is the confusing technical process to go about rooting the phone. There are plenty of tutorials online, but most of them rely on jargon, use imprecise language, or skip steps while assuming the user is familiar with the nuts and bolts of what the author means. The purpose of this tutorial is to provide a clear, precise, plain-English procedure to beginners for rooting an Android phone. Please give me any feedback you have if a step should include clearer language or needs to be updated in any way.

I validated this tutorial with a Nexus 4 running Android 4.4.4 and a computer running 64-bit Windows 8.1. However, the same basic steps apply to Linux and Mac as well as other versions of Android and Android phones. Rooting your phone carries some risk. You may invalidate your warranty, and following the procedure incorrectly could render your phone inoperable. Nevertheless, it is a common process that has been done by many, many Android users. Follow this tutorial at your own risk (disclaimer: the author accepts no responsibility) and make sure you backup all of your data first. Let’s begin.

Continue reading How to Root a Nexus 4 in (Almost) Plain English