Contact

Subscribe via Email

Subscribe via RSS

Categories

Recent Posts

Creative Commons Attribution 4.0 International License
© Rakhesh Sasidharan

Kindles – Voyage & Oasis

Recently I decided to upgrade my Kindle. And went on a splurge and first bought the Voyage, and then the Oasis (on a 5 month installment scheme from Amazon). This was a huge upgrade for me – device I hitherto used for reading being the first gen Paperwhite. 

The first gen Paperwhite was my first and only Kindle up to this point. When the subsequent generations were released I never upgraded. Mainly coz my reading habits were off and on, and also because I used to supplement the Paperwhite with the Kindle apps on my iPad and Nexus tablet. Neither of them were as good as the Paperwhite but like I said my reading was off and on, and I used to read other stuff like PDFs and Instapaper and Longform, plus for a long time I was into comics. 

Fast forward to the present I slowly stopped reading all those other mediums too and pretty much stopped any reading. I think after a long time I read  “A Slight Trick of the Mind” by Mitch Cullen mainly because I saw that excellent movie “Mr. Holmes” which is based on the book and was so in love with the movie and it’s background score. The book didn’t live up to either of them but I persisted and finished it nevertheless over a weekend. After this I think I read a few books on the Paperwhite – mostly non-fiction. 

A few months later I signed up on Audible to try it out, this with yet another Holmes book – that of the elder brother (a book called “Mycroft Holmes”). I didn’t enjoy this book much either but I bought the Kindle version to read side by side and also try out Whispersync. That was nice. The book wasn’t great but I enjoyed the ability to sync and read together etc. Anyways, I didn’t manage much on Audiblr either and was about to close it after the trial month but Amazon offered a 3 month extension at half the price and so I stuck on. Good that I did coz now I am hooked on to Audible. 

I guess it’s coz of Audible and a rekindling of my interest in reading/ prose, plus a nudge from Amazon in terms of a reduced price on the Voyage for Prime members that I bought the Voyage. This was a giant step forward from the aging first gen Paperwhite that I was hooked and started voraciously reading.  Then I wanted to try the Oasis too, and even though it is pricey and has many negative reviews regarding its screen (and I am not rich and don’t have cash to throw around) I decided to buy it. 

Both are delightful devices. My favorite features would be the single pane of glass (without the depression on the screen as with the Paperwhite) – not sure why that matters, but it feels good – plus the ability to turn pages via Pagepress or the physical buttons. I especially love the latter. Makes it so convenient reading single handedly. 

I like both devices. I think I prefer the Voyage slightly more coz it feels more polished; but the Oasis has a lot more “cute” or children’s book sort of feel to it. It’s a nice little device. Sort of short and squarish. And more handy reading in a dark room as the page turn is via physical buttons as opposed to pressing the bezel on the Voyage (which is a hit and miss in the dark). Plus I love the cover and I feel it a lot easier to hold in hand. That’s not fair to the Voyage though as my comparison doesn’t include the Voyage case (which I don’t have). 

Initially I thought my Oasis had lighting issues as I felt one side is a bit darker than the other. I still feel so but when reading in the dark it doesn’t feel so, so maybe it’s just the external lighting. The Voyage consistently feels better in terms of lighting though. And maybe I am wrong but the text on the Voyage seems slightly more sharper – but that’s probably just me nitpicking. 

Anyhow. For anyone sitting on the fence these are excellent devices and a worthy upgrade over the Paperwhite (which is a good device too – what I mean is that you are getting some value for the extra cash you dole out for the Voyage or Oasis). 

Extract secret keys from Two-Factor Authentication (TFA) QR codes

Got me Pebble Time yesterday! Yay. Found a cool app for Two-Factor Authentication codes called QuickAuth (it’s open source too, amazing!). 

The app requires you to enter the secret keys for your Two-Factor Authentication sites. Unfortunately I never saved these when I set up TFA on my devices. I was smart enough to save the QR code for each site and this way I was always able to add new devices by just scanning the saved QR code, but now I had to enter the secret key and I was stuck. 

Enter another open source project Zebra Crossing (zxing). This is a library for processing QR codes and they have an Android app called Barcode Scanner. Get this app, scan the QR code, and you get an output that starts with otp://. That’s the secret key you want. Enter this into QuickAuth. 

If you don’t want to download the app there’s also an online interface to upload a QR code and decode. Nice!

p.s. In case it helps anyone – on the face of it there seems to be no easy way to delete a key/ site once you enter it into QuickAuth. Later I realized if I long press the select button on the pebble when it shows a code I get many options. One of these lets you delete the key/ site. 

RSA SecureID soft token: error reading sdtid file

So at work we are rolling out the newer BB OS 10.x devices. We use RSA keyfobs  and they have a software variant where-in you can load a software version of the keyfob in an app supplied by RSA. There are apps for iOS, Windows, Android, and BlackBerry OS so it’s a pretty good option. 

The way this works is that you create a file (ending with a .sdtid extension) which is the software keyfob (let’s call this a “soft token” from now on). You then import this into the app and it generates the changing codes. iOS, Windows, and Android have it easy in that there are RSA tools to convert this soft token to a QR code which you can simply scan and import this into the app. These OSes also don’t have the concept of separate spaces, so you the IT admin can easily email the soft token to your users and they can open & import it into the app. But BlackBerry users have a work  space and a personal space on their device, and corporate email is in the work space, so you can only import the token into the RSA app if it’s installed from the app store in the work space. 

Again, in practice that shouldn’t be an issue, but in our firm the RSA app isn’t appearing on the app store in the work space. The BES admins have published the app to the app store, yet it doesn’t appear. They are taking their sweet time troubleshooting, so I figured why not just install the app in the personal space and somehow get the soft token into that?

One option would be to create an email account in the personal space with the user’s private account and email the token to that. Too much effort! Another option would be to put it up on a website and access it via the personal space browser, then import. Yet another option would be to just plug in the device to the computer, copy the soft token to the micro SD card, and then import. The latter is what I decided to go with. 

Everything went well but when it came to importing some devices gave an error along the following lines: “error reading sdtid file”. Uninstalling re-installing the RSA app did the trick. I am not sure how that helped but my guess is when the app launches it asks for permissions to read your micro SD card etc, and am guessing when the user was presented with that he/ she ignored the prompt or denied the request. As a result the app couldn’t read the soft token from the micro SD card and threw the above error. That’s my guess at least.  In any case, uninstall re-install the app and that should do the trick! ;-) I found many forum posts with this question but none with a straight-forward answer so thought I should make a blog post in case it helps someone. 

Steps to root OnePlus One (Bacon)

Not a comprehensive post, just a note to myself on what I need to do every time the device is updated and loses root + recovery (though the latter can be avoided by disabling the option to update recovery during system upgrades in Developer Options).

  1. Get the Bacon Root Toolkit (BRT), cousin of the wonderful Nexus Root Toolkit.
  2. Enable ADB on the device (it’s under Developer Options).
  3. Connect device, confirm BRT has detected it as an ADB device.
    1. This doesn’t always happen. In such cases (a) try a different port, (b) try a different cable, and (c) check that the ADB device appears in Device Manager. If it does not, reinstall the Google drivers using BRT.
  4. Flash Custom Recovery (my choice is TWRP) from BRT. This is needed to root the device. Default Cyanogen Recovery can’t do this. This requires a couple of reboots. 
  5. Reboot into the Recovery and exit. I use TWRP, and when existing it checks whether the device is rooted and offers to root it. Go ahead and do that.
  6. SuperSU (and SuperSU Pro) are what one uses to manage root. (Apparently CM 12 allows one to do this using the in-built Privacy Guard but I couldn’t find any options for that. Another option is Superuser, but that doesn’t work on Android 5.0 yet I think). 
    1. CM 12 also apparently has an option to enable/ disable root under Developer Options but I couldn’t find that on my device (before or after rooting).

That’s it! One of the reasons I went with OnePlus One and Cyanogen is the hope that the device will stay rooted after updates, but that isn’t the case. I guess this is so the OS and stay compliant with Google. So each time I do a major update I need to repeat these steps. This doesn’t happen often so by the time I get around to doing this I have usually forgotten what I did last time around. Hopefully I can come back and refer to this post the next time!

New features in BlackBerry OS 10.3.1 (picture heavy)

BlackBerry OS 10.3.1 was released yesterday and I downloaded it to my Z3. It feels very weird but I am strangely excited by this release. Maybe it’s the changes, maybe it’s just me – I am excited by a lot of things nowadays (Windows 10, Windows 10 Mobile, Lumia phone, Azure … to name a few). 

BlackBerry OS 10.3 was so far only available to the BlackBerry Passport and BlackBerry Classic. But with 10.3.1 other devices too can get it. For a list of new features check out this official page. Below are my notes on some of the features, along with some screenshots. 

IMG_20150221_115613The first thing to notice is the new look. The icons look flatter and prettier. No more of this “ugly” shadows and dull colors. Everything feels brighter and flatter (and squarer?). 

The next thing that stands out is the Amazon App Store. Yup, you now have the Amazon App Store installed by default on the BlackBerry so it’s easy to download Android apps from there for your device. Much easier than side-loading by getting the APK files from third-party sites, which was the only way to previously get Android apps on your BlackBerry OS 10 devices. IMG_20150221_115237-2

Another new thing that stands out is that you now have a home screen. Previously your home screen had all the app icons and/ or a list of open apps. If you closed all the open apps you were taken to the page with app icons (as above). Now if you close all your open apps, the page where that is usually displayed stays on – blank – so your selected wallpaper shows through. I don’t care much about that so turned it off from Settings. IMG_20150221_115237-3

 I don’t remember if BlackBerry OS 10.2 had this option or not, but the same Display Settings menu also lets us select the display color (warm, cool) and also the keyboard appearance (dark, light, automatic). 

Speaking of the home screen-cum-app switcher, that too seems different. For once, the preview seems different (though I IMG_20150221_115356can’t place a finger on how it’s different from OS 10.2); for another, the layout has changed a bit. Previously the app you closed last took the top-left position, pushing whatever app was previously there to the right. So the app you you had closed last was on the top-left position, the app you closed first was on the bottom-right position. But now apps are arranged in the order you closed them. So the top-left app is the first app you closed, next is the second app you closed, … all the way to the bottom-right which is the latest app you closed. 

 Another very nifty feature is Advanced Interaction, which you can find under the Settings menu. You get some cool features like wake the device by lifting it, keep it away while holding it, etc. Nice stuff! 

IMG_20150221_115144-2IMG_20150221_115153

 Yet another nifty new feature is the Action Bar. Check out the screenshots below. Depending on the context you get a bar of sorts at the bottom giving some of the actions that are commonly used in that context. You can customize it via the Settings menu too. 

IMG_20150221_115519 IMG_20150221_115558 IMG_20150221_084606IMG_20150221_115918

 IMG_20150221_115954

 

 

 

 

 

 

 

 

It’s little stuff, but very useful. Probably a side effect of this, but now the camera app has a button you can press to take photos! (Previously you had to tap anywhere on the screen, which was a bit confusing to me as I am used to clicking anywhere on the screen to usually focus a picture). The volume buttons too can be used to click a photo (I don’t recollect if that was the case with OS 10.2). 

There are some new modes too (panorama and such). Notice the three dots above in the bottom right corner? You can click that to get more options. 

IMG_20150221_120306A very very useful feature is the revised circle when typing text. Previously the circle had “handles” on either end which you could use to move it around and navigate through the text you are typing to make changes. Now there are left and right arrows that let you move in either direction character by character, giving you finer control. And the handle-bar at the bottom can still be used to move the circle around. It’s a small change but I found it infinitely more useful when typing. 

Moreover, the keyboard layout too has small changes in my opinion. I think the spacing has changed. Whereas previously I used to hate typing on the virtual keyboard, since I upgrade to OS 10.3.1 it has been a pleasure. I make way less mistakes now. 

The Settings menu has some more new settings. 

IMG_20150221_115212

 IMG_20150221_115726IMG_20150221_120928IMG_20150221_120915IMG_20150221_115216

 

 

 

 

 

 

 

Quick Settings lets you customize the quick settings menu you get when swiping up from the top on the main screen (home page & screen where the app icons are shown). You can select what you want to see, as well as rearrange the order. 

Data Management lets you view the data usage of the device as well as configure per account data settings (including what happens when you are on roaming). Again, useful stuff, especially for roaming users. 

Lastly, Battery Saving Mode has settings to save battery when it is falling low. I don’t know whether battery performance has improved since OS 10.3.1, but under OS 10.2 it was dismal on the Z3. Hopefully I can squeeze more out of the battery thanks to this. 

IMG_20150221_123758_editAlmost forgot, the email client has some useful new features. One of these is that whenever you view an email and come out, there are two new icons briefly displayed next to the message. These let you delete the email or file it away. 

I forgot to take a screenshot of it, but the email list view has a new icon on the top right corner that lets you get similar icons for all emails that are displayed. This way you can delete/ file away multiple emails easily (note this is not same as selecting multiple emails and doing a common action; instead, you can do individual actions but on multiple emails one by one). 

The telephone app too has a pretty redesign and is pleasant to the eyes. 

IMG_20150221_115427

 

 

 

 

 

 

 

 

The BlackBerry Assistant (which was present in OS 10.2 if I remember correctly) has significantly improved. Previously it could only be used to dial contacts, but not it has Siri-like features in that you can ask it to do things for you. 

IMG_20150221_115659IMG_20150221_115623

 

 

 

 

 

 

 

 

Another new feature is BlackBerry Blend – which I didn’t try out. Apparently you install a client softwIMG_20150221_115749are on your PC IMG_20150221_115744and that lets you easily “blend” your BlackBerry and PC. You can transfer data easily (wirelessly I believe) and messages and notifications are synced over. Must try that sometime … (I am not a fan of installing too many software on my PC, especially from BlackBerry regarding which I have a mind block, that’s why I haven’t tried this yet). 

 

 

 

 

 

Lastly, there’s a new feature called Meeting Mode which is sort of hidden away in that you can’t get to it via the usual Settings menu. Instead, it is hidden under the settings menu of the Calendar app. What it does is that once enabled it automatically figures when you are in a meeting and adjusts notifications and alerts such that you are not disturbed (again, you can choose what happens). Very useful! 

To access this, launch the Calendar, swipe down from the top of the screen, and then you can see Meeting Mode. 

IMG_20150221_124042 IMG_20150221_124048 IMG_20150221_124116

 

 

 

 

 

 

 

 

And that’s more or less it. 

Overall this seems like a great release and I am quite excited by it. Previously I didn’t used to bother with my BlackBerry much, but ever since I updated today I have been exploring the new features and more importantly enjoying using the device. It feels lighter (coz of the design I guess), brighter (the colors), easier to type and move around (the keyboard layout, improved circle, the new Action Bar), and smart (all the new little features). 

Apparently keyboard shortcuts are back too! So now you can be in the email view and press “t” to go to the top of the list, “b” to go to the bottom, etc. Like you could in the good ol’ days of Blackberries. This feature was removed in the newer OS but is now back. I don’t have a physical keyboard on the Z3 so it isn’t of use to me, but I am pleased keyboard shortcuts are back! 

That’s all for now. Good stuff, BlackBerry! Keep it up. 

Quick ffmpeg tricks (extract audio, convert audio codec of a video)

I use ffmpeg to convert between audio and video formats. Two situations I use it for are: (1) when I have a video whose audio codec is of a format my media players can’t handle (I use WD TV Live and it has trouble with certain formats), or (2) when I want to extract the audio only from a video. 

For converting only the audio here’s the command I use:

The syntax is pretty obvious. The input file is taken, the video codec is copied as-is to the new file, the audio codec is re-encoded to mp3. I could have used -acodec mp3 too. In the past there used to be an in-built mp3 encoder as well as the mp3 encoder provided by the LAME project (ffmpeg must be built with LAME encoder via the --enable-libmp3lame switch for this to work) so you could choose between either via the two switches, but now there’s no in-built encoder so both --acodec mp3 and --acodec libmp3lame do the same. 

To confirm what switches ffmpeg was built with simply run the command. For example, on my machine:

Notice it was built with --enable-libmp3lame

When it comes to extracting just the audio from a video there’s two ways to do it: 1) you can simply extract the audio in the codec as it is, or 2) you can extract & convert to the codec you want. The latter has the disadvantage that if the original video is in a lossy audio codec, converting will result in some degradation of quality. 

To check what audio codec the file is in, do the following: 

Notice it identifies the audio stream as AAC in this case. If I am happy with extracting that as it is I can do the following:

The -vn switch tells ffmpeg to ignore the video. The -acodec copy switch tells it to copy the audio codec as it is. Since this is an AAC file, I assign an extension of .aac to the output file. 

However, if I didn’t want the audio stream as AAC, I would have done the following:

Here I am converting the audio to mp3. Once again I ignore the video via -vn. I specify the audio codec via -acodec libmp3lame. The rest of the switches are as follows:

  • -ac 2 => two channels (stereo) (note this is same as the input, so is an optional switch)
  • -ar 44100 => sammple rate 44100 Hz (CD quality) (note this is same as the input, so is an optional switch)
  • -ab 320k => bit-rate of 320 kb/s (if I don’t specify this the bit-rate will be 128 kb/s for mp3)

Essentially, instead of just copying the audio codec you convert it. Otherwise the idea is the same. Apart from libmp3lame (or mp3) I could have also used the following audio codecs: vorbis (for ogg), aac, flac, and wma

Before concluding, here’s a link to ffmpeg’s documentation (for all the command-line switches etc). Also, this is a good page on audio/ video containers and ffmpeg. The latter is a very thorough and informative page, I am sure I’ll be referring to it in the future. 

[Aside] Pocket Casts (web) Player

I use (and luuuuuv!) the excellent Pocket Casts podcasts app. I discovered it when I switched to the OnePlus One and it’s probably my number 1 used app on the phone. I have discovered so many new podcasts thanks to it (because it has a good discovery tab and also because I listen to more podcasts now so I try and discover new stuff).

I wouldn’t be too far from the truth in saying that one major reason why I am still with the OnePlus One rather than going back to my iPhone 5S is Pocket Casts. Not coz Pocket Casts isn’t available for iOS, but because the OnePlus One with its 64GB of storage lets me download tons of podcasts while my iPhone 5S is a measly 16GB and so I can’t download much stuff for offline use. Sure, the OnePlus One’s larger screen is good for reading, but I don’t do much reading on that nowadays. The OnePlus One has the advantage of 64GB storage and the ability to just copy movies and music to it via MTP, while the iPhone 5S has the disadvantage of low storage (in my case) and the inability to just copy stuff over it without iTunes. The iPhone 5S keyboard is way better though (I hate typing on the OnePlus One, even with custom keyboards like Flesky) and its camera is miles ahead of the OnePlus One too. 

Anyways, I digress …

Pocket Casts is an amazing podcasts and you must check it out if you are into podcasts. Apart from a ton of great features, it also has sync. This means all my subscriptions on the OnePlus One will easily be in sync on the iPhone 5S too. More importantly, not just the subscriptions, but also my progress with each podcast. Isn’t that cool! 

As if that wasn’t cool enough though, I discovered via the latest episode of All About Android (where one of the Pocket Casts developer was a guest) that they now have a web player version. W00t! You can view it at https://play.pocketcasts.com/ – as with the Android/ iOS apps it’s not free, there’s a one time purchase, but that’s fine in my opinion. Free doesn’t have a long term future so I am happy paying for apps & services as long as they are good and meet my needs. (Apparently the web player was released on their blog in October itself). The web player too syncs with the mobile apps.

A note about the sync: unlike Kindle syncing for books (which is what I am used to) the app/ web player does not prompt you that you are currently on a further location with another device. If you already have the podcast open and you click “play” it will continue from where you are. But if you re-open the episode it will continue from where you are on the other device. 

Update: Some blog posts from Russell Ivanovic (one of the creators of Pocket Casts; he was the guest in the All About Android podcast). The first post was mentioned on the podcast so I checked out his blog:

p.s. I began using the iOS version of Pocket Casts the other day, and boy, is the Android version much better designed! Wow. This is the first app where I feel the Android version is much better designed than iOS. Most other apps have it the other way around. In the podcast Russell too mentioned something similar – that they are giving priority to Android over iOS nowadays. 

No, don’t cut my finger!

Watching an MVA session on What’s new in Windows 8.1 Security, from the fourth module (with Nelly Porter) I learnt that if someone were to cut my finger and try gaining access to my iPhone 5S via the fingerprint sensor that will not work! That’s because the iPhone 5S (and above) fingerprint reader is a capacitive sensor and requires a “live” finger than a dead one. (I guess it’s similar to capacitive vs resistive touch screens. The former require you to touch the screen with a body part because it makes use of the body electricity to register the touch). Nice!

The other type of fingerprint scanners are optical sensors. These are high-res and used by Governments at border control etc. The chopped finger might work there, I don’t know …

[Aside] Understanding SSD performance

Was reading up on SSD performance degradation and came across this (old) article from AnandTech. Good one! Explains why SSD performance degrades over time and what TRIM sorta does to improve things. The unfortunate truth seems to be that SSD performance will slowly degrade over time and the only way to restore performance then is to do a secure erase (see this PCWorld article too). 

Update: I don’t want to make a new post just to mention this so I’ll update this older post of mine. Here’s a post from Scott Hanselman on why Windows defrags your SSD drives and how that’s not such a bad idea. Upshot of the matter is this: fragmentation affects SSDs too, though not as much as HDDs (because SSDs have no performance hit unlike HDDs). With SSDs fragmentation affects performance in that (1) there’s a limit to the number of fragments a file can have, and once that limit is reached it can cause errors when writing/ updating; (2) more fragments means more time spent putting these fragments together when a file is read. To avoid these performance issues Windows automatically defrags SSDs once every month.

OnePlus One first impressions

Big phone! :) I thought the BlackBerry Z3 was big, this is bigger! But not in an uncomfortable way. Maybe it’s because of the Android UI, I don’t find the size that bad. In contrast when I tested the iPhone 6 Plus at a shop the other day I was put off by the size (mind you that could also be because all these shop demo pieces have an attachment at the back that pulls the phone down). 

Performance is good though there are occasional lags. Not that I am complaining – I mean, for this price, wow! Just a bit surprising that a high spec Android phone still isn’t as buttery smooth as a last year iPhone (the iPhone 5S). The OnePlus One has 3 GB RAM and a 2.5GHz CPU I believe. In contrast the iPhone 5S has 1 GB RAM  and a 1.3 GHz CPU. Sure there maybe other differences between the two which I am not aware of, still I sort of expected the two to be on par at least. I think it all comes down to the fact that Android uses Java and so requires more RAM, whereas iOS is simply more efficient. Anyhow, like I said it’s not a big deal and it’s only an occasional lag, so I am not complaining merely mentioning. 

The camera seems to be fine. But launching it seems to take 5-6 seconds, and that I don’t like! Once launched it clicks photos fast enough though. And I can set the size to 9.7 MP to click 16:9 resolution widescreen photos. That’s cool!

I love the back of the phone. I absolutely love it! I got the Sandstone Black version and the back has this rough texture sort of thing. I love it because that gives me a firm feel of the phone. In fact, maybe that’s why the large size doesn’t affect me much – the phone feels more stable in my hand due to the material I think. I love it!

The back isn’t removable. So there’s no removable battery, no microSD slot. There’s a slot on the side for the SIM tray. The device comes with both a micro-SIM and nano-SIM tray! So I could put my iPhone 5S SIM into this. That’s very thoughtful of OnePlus to support both. (Disclosure: It looks like a nano-SIM tray. And I checked Google and others too report it as a nano-SIM tray. So I am guessing it is a nano-SIM tray. I haven’t actually put my nano-SIM into it yet. :))

What else? CyanogenMod is good. Already got a couple of updates since yesterday. And I like being able to tweak bits and pieces. The phone comes with hardware keys for the navigation panel – not physical click type keys, but LED keys that light up. That’s cool because the keys don’t take up screen space and are below the screen. CyanogenMod lets you disable these and use the regular Android soft-keys. CyanogenMod also lets you customize what long press, single press, double tap, etc does to these keys (not all actions are available to all keys). I like that. By default the key that one usually uses for the app switcher – like on Nexus phones – doesn’t behave like that. It behave like the open/ close menu button we have on Samsung phones and such, so I remapped that to the app switcher and set long press to open / close the menu.

The lock screen too can be customized. And the keys can be modified to launch the torch or play music etc. For instance, I can double tap the screen to wake it up. Or long press the home key to put it back to sleep. 

I am trying the Yahoo! Aviate launcher on this. Once upon a time I was (still am) a huge fan of the Nova Launcher. Then I started using Action Launcher on my Nexus 7 tablet and slowly got using that on the Galaxy Nexus phone. I started off with Action Launcher on the OnePlus One but then thought of trying new launchers and so Aviate it is now. Spent a little bit of the morning customizing it to my liking. 

That’s it so far I think! Once again, I am pleased with the big screen size surprisingly! Never thought I’d like it. Who knows, maybe I’ll do more InstaPaper reading on this phone. 

Update: Turns out Aviate doesn’t do notification badges for non-default apps such as WhatsApp. Neither does Action launcher. I don’t mind these on a tablet as I don’t use WhatApp etc there. So I am with Nova launcher now. That has a plugin which does WhatsApp (and experimentally all other apps by monitoring the notification area). I am also using Fleksy as my keyboard now. I had forgotten how crappy the default Android keyboard is. Not only is it ugly, I keep making typos with it. Fleksy is awesome! :) Good themes too. Initially I was wary about using a 3rd party toolbar and them being able to snoop my private info, but soon I got over it. Had to! It’s all about trust after all. I am in a way trusting Google/ CyanogenMod/ OnePlus to not snoop with the existing keyboard, so why not trust Fleksy too. 

Unlocking the OnePlus One without wiping data (or at least trying to!)

Unboxed my new OnePlus One and immediately installed the usual apps etc. Then I realized that the device bootloader isn’t unlocked! I don’t know why, but I assumed the OnePlus One came unlocked and rooted. Silly me! All I want to do is root the device (an update file for SuperSU can be downloaded from here), but to do that I can’t use the stock recovery as that performs signature checking and so the update will fail). Option 1 is to install a custom recovery, option 2 is to temporarily boot into a custom recovery. Either of these options will then let me root the device. I prefer the second option, but it doesn’t matter really because to install/ temporarily boot a custom recovery the device must be unlocked! And unlocking means my data will be wiped. 

So … here’s what I did to unlock the device and trying not to lose the data. Note that if you are looking for a tutorial sort of post there are better places on the Internet. This is more of a rambling on what I did. I didn’t succeed in what I set out to, so this could be a waste of your time too. :) Also, I have an older post that explains boot loaders, custom recovery, etc. That’s worth a read.  

First I downloaded the Android SDK on my laptop. I didn’t download the ADT, only the SDK tools. Specifically, I downloaded the zip version of the SDK tools so I can put it in my Dropbox for future use. (The zip version can be found under “View All Downloads and Sizes”).

Downloaded the zip file. Extracted the contents to Dropbox. Ran SDK Manager.exe. This had “Android SDk Tools”, “Android SDK Platform-tools”, and “Android SDK Build-tools” selected as well as a bunch of items under the folder called “Android 5.0 (API 21)”. Plus under the “Extras” folder the “Google USB Driver” and “Android Support Library” too were selected. I un-selected the “Android 5.0” folder and “Android SDK Build-tools” as I don’t need these. I need the “Android SDK Platform-tools” as that contains the tools I want. And the USB driver is good to have too. 

selectionsAfter installing these I went to the Dropbox folder where I had extracted everything, went into the android-sdk-windows\platform-tools sub-folder, pressed the SHIFT key and right clicked within the folder, and selected the option to “Open a command window here”.

After this I went to the OnePlus One “Settings” menu > “About phone” > and tapped 7 times on the “Build number”. This enables the “Developer Options” menu under “Settings”. Went in here and enabled “Android debugging” (it’s unchecked in the screenshot below, I checked it).

Screenshot_2014-12-01-17-25-22

 

Now I connected the phone to my laptop. Maybe you’ll get prompted for a driver install in which case you should choose the one under android-sdk-windows\extras\google\usb_driver. If you don’t get prompted for anything then check the Device Manager. If an unknown device called “A001” is present, update its driver with the one in the above location. 

Assuming all goes well typing adb devices in the command prompt should show the OnePlus One:

ADB is pretty cool in that you can do a lot of stuff to your device with it. For example: boot into the boot loader, boot into recovery, take a device backup, sideload apps, and so on. 

The following command will reboot the OnePlus One into bootloader:

Unlike the Nexus devices I am used to, with the OnePlus One the bootloader doesn’t give any info. It has the Cyanogenmod mascot with the words “fastboot mode” beneath it. 

Once in fastboot mode we can ues a tool called fastboot to manage the device. Think of it as ADB but when in the bootloader mode. Assuming all went well before the following command should show the OnePlus One connected:

At this point I can follow either of the options I mentioned above – install a custom recovery or temporarily boot into a custom recovery. In my case this is where I would have issued a command like this to temporarily boot into a recovery image (after downloading a recovery image such as TWRP and specifying the downloaded path below):

If I wanted to flash the custom recovery over the stock recovery I would have typed the following instead:

If you do this without unlocking the device you will get an error along these lines: 

Unlocking is easy. Type the following command (before typing it read the next few paragraphs though):

At this point the device should be unlocked. I expected it to not reboot – because the first boot after unlocking is when the phone wipes all your data–  but mine rebooted! So I quickly powered it off, then powered it on by pressing the Volume UP & Power keys together. Give a minute and the phone will power on and go into the boot loader (fastboot mode). 

I confirmed that fastboot devices shows the phone, so I booted into a temporary recovery as before:

The fastboot screen icon turned white and after a minute TWRP booted. 

I chose the option to “Wipe”, followed by “Advanced Wipe”, and selected “Cache”. This wiped the cache, after which I rebooted the device. (Before rebooting TWRP pointed out that the device isn’t rooted so it can root for me. I chose to go with that). Unfortunately I think I was too late in powering off the phone before because it turns out everything was wiped! :(

Bummer!

Thankfully I was able to restore from the backup – sort off, because that seemed to break off midway – so finally I just recreated the phone. I had kind of expected this outcome as most data wiping as part of unlocking the bootloader is a pretty standard thing. I was hoping to avoid it through the trick above, but I guess it wasn’t my day. :)

(Note to self: If I try this again try flashing recovery and then unlocking. Maybe then the device won’t reboot).

Before I end, I’d like to point out this forum post. It’s from the OnePlus forum and goes into details of unlocking, rooting, etc. It’s a pretty good post, I discovered it while writing this blog post. 

Christmas comes early! New OnePlus One

Yay got my new OnePlus One today. Haven’t unboxed it yet.

IMG_5413.JPG

I ordered a pair of their JBL E1+ headphones too coz I have a headphone fetish.

The phone is Sandstone Black 64GB.

:)

Chromecast etc

Bought a Google Chromecast yesterday. I am travelling a bit recently and while I am independent of in-flight entertainment (thanks to me Nexus 7) I am still dependent on what the hotel TV for when in the hotel. Yes, I could connect my laptop to the TV with an HDMI cable (or connect the Cain to TV with a mini-HDMI to HDMI cable) but feels inelegant. I would prefer using the Nexus 7 if possible – much easier to carry around, charge, navigate etc.

I’ll need to use a SlimPort cable to connect the Nexus 7 to HDMI. I can’t get hold of that at short notice, moreover I am not keen on leaving the Nexus 7 hooked to the TV as there’ll be no way to navigate it then. A Chromecast seemed to be a convenient way of streaming wirelessly from the Nexus 7 to the TV.

The experience hasn’t been entirely pleasant though. For starters, Chromecast in hotel rooms are tricky. This is because (1) hotel WiFi usually requires a hotspot login for Internet access, and the Chromecast has no way of displaying this login page, resulting in it having no Internet access; and (2) hotel WiFi access points usually enable “AP isolation”, a useful security feature wherein devices connected to the access point can’t talk to each other (a good idea coz you wouldn’t want your neighbours laptop snooping onto yours). Since the Chromcast requires Internet access (at least for the initial setup, not sure about after that) and requires communication with your laptop, phone, or tablet to control it, you can’t use the Chromecast on most hotel WiFi.

Didn’t know this before I bought the Chromecast so day 1 of the purchase was spent trying to get it working, Googling, and thinking of solutions. Nothing helped. (Example solutions I tried include spoofing the Chromecast MAC address with the access point. Tried this from my laptop and Nexus 7 but it didn’t work. I could spoof the MAC address but I still couldn’t get the Chromecast to connect to the Internet).

So day 2 – today – involved purchasing a portable WiFi access point. Yeah, that’s a bit far-fetched I know! Getting an access point means you can connect that to the LAN point and hook create your own WiFi network. Connect the Chromecast and other devices to this WiFi network and they can all talk to each other. Moreover, the first device that authenticates with the hotspot is enough to get the access point’s MAC address whitelisted with the access point and thus let through all other devices connected to it without any authentication prompt. Did that today, and now I have a working Chromecast.

(This too wasn’t all straightforward. Initially the Chromecast said it wanted to update and got stuck at 29% update. Then I rebooted it and it wen’t up to 100% and got stuck. Rebooted again and this time it started from scratch and updated itself. Wasn’t sure whether unplugging it while updating will cause any issues. This seems to be a common problem according to the Internet. Many forum posts where the Chromecast is stuck on a reboot-update-reboot loop. Sometimes the update happens. Other times using the laptop app instead of a tablet/ phone app to setup the Chromecast helps. Yet other times casting to it while updating seems to give it a knock on the head and subsequently updates work. Weird, yes!)

Anyways, did all this and the next step is casting movies from the tab to the Chromecast. Isn’t as easy as it sounds. Sure you can cast YouTube and Netflix easily. And there are many apps that support casting, but your mileage might wary. My favorite media player – MX Player – doesn’t have cast support yet. My second favorite player – Dice Player – seems to support, but I can’t find a way of enabling it. My favorite file manager – Solid Explorer – has a plugin that allows casting. That works well and it’s what I am using now, but the problem is that (a) I don’t know if my usual MX Player gestures will work here, and (b) not all audio-video formats are supported by the Chromecast so it’s quite possible you’ll have files that simply don’t cast to the Chromecast. Yeah, bummer! I had a few such, and various casting apps I tried (such as LocalCast, AllCast) failed to cast these. Finally I gave up. It works for the most part, but it isn’t something I can’t blindly depend on. It’s pretty likely some movies on the Nexus 7 that I want to watch simply wont play on the Chromecast.

In this respect the iPad/ iPhone might fare better. Since you have to encode the video for these devices, maybe the format is better supported. Not sure, I don’t have an iPad to try.

Things are better from the laptop. You can cast any Chrome tab to the Chromecast, so all I need to do is drag and drop a video into Chrome and that’s it! Chrome should be able to play all formats thanks to plugins like VLC which are installed if you have VLC Media Player on your system (who hasn’t!). Even more coolly, you can cast the entire screen to the Chromecast, so I could clone my laptop screen and audio to the TV. Wirelessly! With no performance lag. Now that’s super cool!

So that’s it. Been a mixed bag so far, let’s see how much I’ll be able to actually use this device. Maybe there are some cool apps that I haven’t stumbled across yet and which will enrich my experience. This issues with formats seems to be why MX Player doesn’t have support for casting yet. The creator of that app wants to be able to play all MX Player supported formats on the Chromecast, so this means the app should be able to transcode from a format not supported by Chromecast to a format supported by Chromecast – in real time – and that’s why support isn’t available yet. It should be available at some point (that’s what I read somewhere anyways).

Disabling Connected Standby

As you know a few days ago I purchased a Notion Ink Cain, a Windows 8.1 tablet-slash-laptop. This is my first Windows tablet so while it doubles as both, I have slightly different expectations and use cases from this.

One of these is the battery life. Whereas I always hibernate my regular laptop, the Cain is just put to sleep once I am done with it. I put it to sleep either via the Power button or the device goes to sleep on its own. This is fine but for two problems – (1) since the device is only sleeping and I usually dock it into the keyboard and use the flap as the cover, any key presses when the device is asleep results in it waking up and thus some battery draining; (2) since the Cain supports Connected Standby (nowadays called InstantGo) the device does not really sleep in the way we usually expect Windows devices to sleep, the sleep here is more like a “light sleep” wherein the device is kind of awake and able to let some background stuff like email and other programs run and do their bit.

I work around the first issue either by rotating the Cain and then docking it, such that the keyboard is behind the device and so keypresses don’t get registered (the Cain requires the docking to be correct for the keyboard to be recognize). I also put the Cain in a pouch without the keyboard. It’s not very elegant but that’s what I was doing until today.

The second was an irritating issue. When I first read about Connected Standby I was very impressed with it. It’s not supposed to drain much battery. The requirement is that when on Connected Standby the device will lose less than 5% of its power over a 16 hour idle period, but that didn’t seem to be the case for me (try a powercfg /sleepstudy to get some results) and I wasn’t happy with the battery drain. Maybe it’s because I had set apps such as email to update in real time and so the device was regularly waking up to check email, I found that it barely lasted 2-3 days even when fully idle. That’s not great, and even putting it in airplane mode only made it slightly better.

To work around this I decided to start hibernating the device. I enabled the hibernation option in the Power menu and also created a shortcut to hibernate in the start menu. But these are manual approaches didn’t seem “neat”. I wanted something where the Cain would automatically hibernate after a period of inactivity. I remembered back in Windows 7 (and even on my Windows 8 laptops) there are options under the Power menu in Control Panel to make the laptop sleep after a certain period and then hibernate. On the Cain though, this option was missing and I wasn’t sure why. I had a suspicion it must be because the Cain uses Connected Standby and so perhaps disabling it will reveal these options. I Google’d a bit to see if there’s a way to disable Connect Standby. Surprisingly I couldn’t find anything until finally some forum post mentioned another forum post that gave a registry key setting which disables Connected Standby. Applied that to the Cain and now I have the option to hibernate after a certain period. Yaay!

Unboxing the Cain

I got my Notion Ink Cain tablet day-before. I unboxed it in the car itself! Below are some pics.

Bubble wrap packaging in which I got the Cain

Bubble wrap packaging in which I got the Cain

Out of the bubble wrap. Good quality box.

Out of the bubble wrap. Good quality box.

Close up of the box, showing price and specs

Close up of the box, showing price and specs

Unboxing

Unboxing

A nice touch. The box includes a letter and some mints (not shown).

A nice touch. The box includes a letter and some mints (not shown).

The letter and mints

The letter and mints

The tablet.

The tablet.

Tablet minus the wrapping.

Tablet minus the wrapping.

Tablet in portrait orientation.

Tablet in portrait orientation.

The keyboard-cum-cover. Notice the dock connector in the middle. That's where you dock the tablet.

The keyboard-cum-cover. Notice the dock connector in the middle. That’s where you dock the tablet.

Tablet docked into the keyboard

Tablet docked into the keyboard

Tablet docked and powered on.

Tablet docked and powered on.

Laptop next to my office desktop

Laptop next to my office desktop

Very irritatingly the tablet came with a screen protector. I hate screen protectors. I hate it when they have bubbles, and I hate the way they feel when I touch. One of my first tasks then was to a piece of paper (a good quality paper, one that wouldn’t bend easily) and poke around the screen where there were bubbles between the screen and protector, and slide the paper in to one of these bubbles and thus pry the protector off. Such a relief!

The next step was to set up encryption on the Cain. That’s a bit more detailed so I’ll post it later.