Subscribe via Email

Subscribe via RSS/JSON


Creative Commons Attribution 4.0 International License
© Rakhesh Sasidharan



So. Previously I had my OnePlus 3T and iPhone 6 paired with the Sennheiser PXC 550. Whenever I’d connect the headphones would announce the OnePlus 3T as “phone 1” and iPhone as “phone 2” as that’s the order I had initially paired them in. 

Ever since I paired the iPhone 7 Plus though the headphones announce both phones as “phone 1”. I find that funny coz I imagine it must be confusing to the headphones to have two phones that are both “phone 1” and in my mind it’s as though the iPhone 7 Plus is trying to be a dominant partner and say “no, I too must be phone 1! period!” :)

Just an example of how we try and assign human attributes to gadgets and other things. I find it funny that I am attributing some “nature” to the phone. This is not the only one though. I find that the iPhone 7 Plus gets along better with the OnePlus 3T and Sennheisers. If I have music playing from the OnePlus 3T and I turn on the iPhone 6 it would “claim” the channel so to say by blocking out the OnePlus 3T. The latter would continue playing but nothing comes out of the Sennheisers any more. The iPhone 7 Plus on the other hand is better. It too takes over but 1) pauses the OnePlus 3T and 2) if I am not playing any audio it gives control back to OnePlus 3T and resumes playing music. Again there’s some techie reason for this I am sure, but in my mind I attribute qualities like the iPhone 7 Plus gets along better or whatever. 

Anyhoo. That’s all! :)

Connect a Pebble to two devices

I wish I had known this earlier. Would have saved me some money and hassle. 

I have a Pebble Time (I love it! Sucks that they went out of business). I used to have it connected to my iPhone but found that it drains more battery. So I started using it with my Android and found that to be a better match. Especially since I use my Android for listening to music and there are Pebble apps like MusicBoss that make it so much easier to control music on the Android via Pebble. I still wanted something just to get notifications from iPhone and had played around with devices like the Microsoft Band and later even having a second Pebble just for the iPhone (so I had a Pebble on each hand :p). 

I got rid of all that (the Band broke, the Pebble’s outdated) so now I am back to one Pebble and two phones. Randomly Googling on whether I can hook up both to the same Pebble brought me to some Reddit posts that explained it’s possible. 

In my excitement I didn’t save the links but the idea is simple. First you pair the Pebble with your iPhone (if its already paired with Android, no problemo just turn off Bluetooth on the Android for a while). Go through the motions and you’ll see Pebble and iPhone are connected via Bluetooth and Bluetooth LE (Low Energy). Now pair the Pebble with Android (or turn on Android Bluetooth if previously turned off as above). Android will pair via Bluetooth. At the same time the iPhone will stay connected via Bluetooth LE. 

Turns out Pebble uses Bluetooth for data transfer and control (and optionally notifications) – which is what I want with Android anyways! – and Bluetooth LE if available for notifications – which is what I want from iPhone. So it’s a win-win situation. 

I tested by calling both devices and in either case the Pebble too buzzed. Nice!

Pir Jalani

Before I get busy with my day, I wanted to quickly give a shoutout to this video – Pir Jalani, from Coke Studio (Clinton Cerejo and Mangey ‘Manga’ Khan; music by Clinton Cerejo). It’s a fusion song – a traditional composition featuring lyrics in some Indian language I don’t know as well as Hindi. That’s what I have been on listening since day-before yesterday night when I first discovered it. I love the mix of the raw singing of Mangey Khan with the softer singing of Clinton Cerejo and the music – which is are sort of opposite to the raw singing and yet complements it and the two get along together very well. The song starts off in a very traditional way but quickly develops layers and becomes something else altogether! Loved it! (I especially loved the trombones and trumpets – totally didn’t expect that!)

Coke Studio has some good songs. Here’s a few off the top of my head (note: I have updated this list since my original posting):

  • Bismillah (Kailash Kher, Munawar Masoom; music by Salim-Sulaiman) – such an amazing pious song!
  • Piya Se Naina (Sona Mohapatra; music by Ram Sampath) – a peppy number.
  • Aigiri Nandini (Padma Shri Aruna Sairam, Sona Mohapatra; music by Ram Sampath) – two contrasting styles, singers, voices – what more to say!
  • Madari (Vishal Dadlani, Sonu Kakkar; music by Clinton Cerejo) – a powerful song; both Vishal Dadlani & Sonu Kakkar shine with their voice through this song.
  • Ambwa Taley (Javed Bashir, Humera Channa) – I don’t think I can even describe what I feel about this song; the singing is so strong and touching.
  • Aao Balma (Padmabhushan Ustad Ghulam Mustafa Khan, Murtuza Mustafa, Qadir Mustafa, Rabbani Mustafa, Hasan Mustafa, Faiz Mustafa; music by A.R. Rahman) – I discovered this early morning one day when I was woken up as I was on-call at work and couldn’t go to sleep after that; listening to this just blew my mind and I think I spent the whole day and the next few listening to this on loop.
  • Saathi Salaam (Sawan Khan Manganiyar, Clinton Cerejo; music by Clinton Cerejo) – another good song.
  • Naariyan (Shalmali Kholgade, Karthik, Amit Trivedi; music by Amit Trivedi) – an upbeat number, different to the rest; less Indian sounding. One thing about Amit Trivedi is that you can expect various sounds, different instruments, and he manages to mix them all together. Fun lyrics too, this one!
  • Rabba (Amit Trivedi, Tochi Raina, Jaggi; music by Amit Trivedi) – I wasn’t so hot about this song initially but it slowly catches on to you. 

One thing I noticed (an obvious observation, but I wanted to mention anyways) is how the headphones I use seems to enhance the music. My favorite way of listening to such music is via the Sennheiser HD 558. These are probably my favorite headphones – not practical to carry around or even use with others around – but they are super comfortable and open-backed (which is why I can’t use it with others around as it lets the music out and also lets in sound from outside; but this enhances the sound quality I think) and they just add “something” to the music. It’s like it lets the music/ the instruments “free” – gives them more space, so to say, a wider feeling … difficult to describe. It adds something to the whole experience. 

Apart from this I also listen to music via the Sennheiser PXC 550 which I previously mentioned, Bragi Dash, Bose SoundSport, and SoundMagic E10 & E10S (mostly E10S). The order in which I mentioned is the order in which I rank their music quality. It is not a huge difference, but I always notice a difference between these headphones. Each has its pros and cons which is why I use them, so I don’t judge their sound quality difference against them – but until a few years ago (which is when I started noticing this and began investing in good headphones) I wouldn’t have imagined headphones to make that much of a difference (and even now, like I said, it’s not a huge difference – it’s subtle, and may not matter to all, but it matters to me and makes a difference to me in the way I enjoy and appreciate the music). 

Enjoy the music! Such amazing talent.

Update: Some more (non Coke Studio songs):

  • Neeye (Yazin Nizar, Sharanya Srinivas; music by Phani Kalyan) – amazing music, and the male singer has such a wonderful voice!
  • Poori Qaaynaat (Raj Pandit, Vishal Dadlani; music by Salim-Sulaiman) – again, amazing music! The singing is of course great, I loved the Sitar too.

New Gadgets

I didn’t realize I had a Gadgets category on this blog. Funny I forgot about it, considering I had blogged just a few months back about my new Kindles. 

Anyhoo. Two more gadget updates in case anyone’s interested. 

I bought a new phone for myself. The OnePlus 3T. 128GB/ Gunmetal version. Lovely phone! 

And I bought a new pair of headphones. The noise-canceling Bluetooth sort of headphones. :) Got myself a Sennheiser PXC 550 – which sounds so formal and uncool, but it’s a good pair of headphones nevertheless. It would be in the same category as the Bose QC 35 or the Sony MDX-1000X. I haven’t used either of them but I went with the Sennheiser as it had way more features than either of those, and I was able to get it at the same price point (well, slightly cheaper actually) as the Sony MDX-1000X (which is what I was eyeing, until I came across the PSX 550). 

Cool features of the Sennheiser PXC500 in a nutshell:

  1. It comes with a wired cable with a mic, so even if you run out of battery you can use the headset with no compromises (most other Bluetooth headsets that come with a cable don’t include a mic).
  2. It has a great battery life (30 hours or something, I think; I dunno, I just charge it every weekend or so).
  3. I like the touch controls – lets me easily pause, rewind, forward via a touch on the right ear cup.
  4. The headphones have an inbuilt DSP for modes like speech (useful for podcasts & audio books), movies (useful for movies or listening to film scores), club (I never use this), or none.
  5. Using the companion Android & iOS app you can create custom equalizer settings (I don’t use this) and also enable a cool feature that automatically pauses the music when you take off the headphones (but I turned it off since I discovered that I use the headphones a lot when walking, and the sweat that accumulates seems to confuse these sensors and they randomly pause the music). 
  6. There’s no off/ on button. Simply take off headphones and fold them flat (which is what I always do) and it powers them off! So nice. Unfold and they power on. 
  7. It can connect to 2 devices at the same time. Sooo convenient! It can remember up to 8 (or is it 10) devices – but it only connects automatically to the last 2. 
  8. You can turn off the noise-cancelling or set a percentage for it (which you set via the app). So it doesn’t have to be full noise-cancelling always. Personally, I don’t find any difference between full and a percentage. Which makes me wonder if it’s doing a proper noise-cancelling or not, but I know it blocks out most noise so it’s doing something. One thing I learn about “noise cancelling” is that it doesn’t not entirely cancel noise as the ads might have you believe. You can still hear train announcements and a bit of the background noise – so it’s not totally silent! 
  9. When there’s no music playing you can double tap the right ear cup to turn on a mode that pulls in the surrounding noise via the mics into your ears. So you can hear even more clearly what’s on your surroundings – say you want to talk to someone and don’t want to take off the headphones (and because they are around the ear they still block out noise even if noise cancelling is off). This mode’s useful for that. 

That’s all I think! 

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! 


 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










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. 










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. 










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. 










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 – 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).



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! :(


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.