Tutorial #21: Soft Tip Dart Assembly (Geologic)

How often does it happen that you trundle in to a shop out of boredom and end up making an impulse purchase just because it is the most exciting thing at that moment? This was the case with me at Decathlon earlier this week and the video above is evidence of that.

I can only vaguely recollect throwing darts at some point in my life, only to leave the wrong kind of impression, practically as well as figuratively. Taking cognizance of that experience, I went with the soft tip variant and laziness ensured I left the score-keeping to the machine.

Having never assembled a dart before, the natural recourse was to take to YouTube, only for it to not have a video specific to this purpose. Thus, I bring to you an assembly masterpiece like no other. Normally, any such video would be a precursor to a review, but in this case it is better to not feign knowledge and be off the mark.

Review #51: Amazon Fire TV (Gen 3 - 4K HDR) ★★★★☆

Normally, whenever I get a new device, the instinct is to analyse it in depth. Unfortunately, certain constraints prevent me from doing so with the Fire TV 4K, primary of them being that I have no 4K display devices at present. However, a lot of thought had gone in to purchasing this device for a 1080p non-HDR TV, even though it is not officially available in India. So, I would like to share these thoughts along with the experience of setting it up so as to get the most out of it. Thus, this article will straddle the line between a tutorial and a review, but I have decided to classify it as the latter since this article, while being instructional, is still appraising the product.

Review #44: Amazon Fire TV Stick (2nd generation) ★★★☆☆

Fire Play with Me - A comprehesive review of the 2nd generation Fire TV Stick
When Amazon priced the 2nd generation Fire TV Stick at ₹2999 for Prime Day, it took a lot of self-restraint on my part to not purchase it instinctively. I had a few good reasons for not doing so, they being:

1. My TV itself is capable of DLNA streaming courtesy of Samsung AllShare and has the Netflix app on it, even as others might not be so useful
2. A first-gen Chromecast attached to one of the HDMI ports since the time of its US release, taking care of all the remote streaming needs
3. A Raspberry Pi 2 running LibreElec (and Batocera) to take care of Kodi and retro gaming needs
4. Lastly, a Windows tablet capable of streaming every possible content either through Chromecast, Plex or HDMI

Since I have a DLNA as well as Samba server running on my router allied with a USB 3.0 external hard disk, these disparate solutions, while being less than ideal, fulfilled every local and web streaming need I had. It also meant that the Fire TV Stick had a very small niche to fill - that of even lazier consumption and hence didn't justify the price or the need. However, as you might have already guessed, something changed for this review to exist.

I had been on a trekking trip recently and it warranted that I forego of any unnecessary weight. That meant that my trustworthy Windows tablet didn't find a place in my backpack. However, on the off chance that the hotel had a reliable net connection, I carried the Chromecast with me. Luckily, the hotel did have a stable 10 Mbps connection without AP isolation which was both a boon and a course. While it meant that I could use my Chromecast freely, it also meant that everyone else on the hotel network could as well. Chromecast might make for a great party device but unfortunately a poor personal entertainment one as I had other guests interrupting my viewing out of curiosity or the ignorant hope of viewing their mobile content on their room's TV. This particular incident made a very good use case for the Fire TV Stick over the Chromecast and eventually led me to purchase one.

Of course, I wouldn't have purchased it for the listed price and the fact that it wasn't listed at the Prime day sale price of ₹2999 during the September and early October sales made the decision difficult. However, the eventual impact of purchasing this device was ₹2200 courtesy of the ₹499 cashback on the ₹3499 sale price and a ₹450 cashback for using Amazon Pay coupled with the fact that the Amazon Pay balance I used was discounted by 10% on accord of an earlier top-up offer (3499 - 499 - 450 - 350 = 2200). With the device in hand, I went on my merry way of testing it in every way I could.

Out of the box:

The Fire TV Stick aptly comes in a fiery orange box which lists some of the apps offered on the platform. My unit, purchased in early October 2017, was imported in September and manufactured in August. The inner packaging, to go along with the fire theme, was in charred black and pretty compact. It contained the Voice remote, 2 Amazonbasics AAA batteries, HDMI extender, 5V/1A charger, 5-feet MicroUSB cable and of course the Fire TV Stick (not counting the manual and information pamphlets).

In the hand:

The Stick is definitely larger than any pen drive you might have ever seen but still fits in the palm of my hand. However, as you can see in the image, it is much larger than the first-generation Chromecast, so you need to ensure that you have significant clearance at the back (or side) of your TV. It weighs in at 31g on my scale, so it shouldn't be stressing any HDMI ports while sticking out of them.

Starting it up:

As I have mentioned previously, the package comes with a 5V/1A charger and hence I initially decided to use the USB port of the same specification available at the back of my TV. However, the AFTV Stick was quick to show an 'Unsupported USB Port' message. While I am sure that I could have used the device off the USB port, I decided to plug in the charger anyway. Since the AFTV stick has 802.11ac MIMO WiFi support, it is dual band and catches the 5 GHz signal reasonably well, when compared to my iPhone. I was expecting the device to be already associated with my account like my Kindle was on first login, but that was not the case here. Curiously, the device was registered as my 2nd Fire TV Stick and I suppose it was so as I had previously paid for and then subsequently cancelled an order of the Fire TV Stick.

The OS:

It shouldn't be a surprise that the entire Fire TV OS revolved around Amazon Prime Video. In fact, that is the only app that the device comes installed with. Others like Hotstar and Netflix are added to your account in the cloud but the download has to be initiated manually. The usable storage capacity is displayed as 5.94 GB which isn't much, especially if you are considering using the video download options for offline viewing. Out of the box, the OS version was and the Fire TV Home version (which I presume refers to the interface) was 5.7.3-20. The immediately available update changed the OS version to and the Home version to However, the underlying Android version is 5.1.1 and coupled with the 1GB of RAM made things a bit interesting as described below. Irrespective of the update, the look remained the same and consisted of the Home, Movies, TV Shows, Apps and Settings tabs.

Apps and Interface:

As I have mentioned previously, the AFTV interface revolves prominently around Prime Video. The Home tab displays the recently used apps first, followed by the installed ones and then a whole bunch of rows specific to different genres of Prime Video. Similarly, the Movies and TV Shows tabs are completely dedicated to Prime Video. The Apps tab is where you would go to explore the entire app collection while the Settings tab includes the myriad of options that Android usually offers pertaining to display, sound, connectivity, accessibility and developer options.

Fire TV's use of Android implies easy availability of streaming apps as long as they aren't tied to Google Play services. Hence, most of the third-party apps work just fine. The available apps are those available on the Indian Amazon Appstore and hence one can take a look at the options available prior to making a purchase. However, as depicted on the box and in the ads, it covers most of the prominent Indian streaming services including Hotstar, Voot, Eros Now, Gaana and Jio TV. Additionally, TV news apps like NDTV, Times Now, India Today are available along with some international ones. However, most noticeable is the lack of an official YouTube app. The Youtube.com app present on the Home screen is just the mobile website running on Chromium. As a result, it is sluggish and the quality barely exceeds 480p which can be a major deal breaker for some.

An integral part of the user experience is the use of the remote and its accompanying voice control. The remote's controls are pretty well done for navigation purposes, including the use of the playback controls to directly execute some options as against having to scroll to them. The controls work fine within the apps as well which is a big plus. Unlike other streaming devices like the Nvidia Shield which oddly include only navigation controls, the AFTV remote makes efficient use of the playback controls which is most evident when using Prime Video. The Voice control also does a good job of recognising the context of search and pops up relevant suggestions when it is unavailable to exactly determine the term being spoken. At the time of writing this review though Alexa hasn't still been enable for the AFTV Stick though I can't imagine it is too far off considering the launch of the Echo devices.

If you happen to lose or break the remote, then Amazon has already provided apps for Android and iOS which are software clones of the remote. They also contain added features like a keyboard which makes typing passwords, codes, searches must easier and the replacement Voice Remote at ₹1999 a redundant purchase. Alternately, the AFTV Stick supports HDMI-CEC, so if your TV supports it, the TV remote does a good job of navigating through the interface.


One of the true tests for any media streaming device is to see how well it handles Kodi. Since Kodi isn't officially available on the Amazon App Store, it has to be sideloaded. Luckily, Amazon has kept the ADB and Unknown Sources installation options easily accessible and that implies easy sideloading of most Android apps. I say most since apps that rely solely on the Google Play framework will not work at all. Luckily, this list is not that expansive and to a large extent includes apps from the Google stable.

The most common option to sideload apps that you will come across the web is to use the Downloader app from AFTVnews. However, this app isn't officially available on the Indian Amazon store and while there are ways to get it on board the AFTV Stick, I found the most convenient option to be the Apps2Fire app. It allows one to directly install or upload the file to the AFTV Stick. I found the install option to be a bit whimsical as it failed on multiple occasions with exceptions since it used ADB, but the uploaded APK files could be installed just fine by using ES Explorer on the device itself. In case of Kodi, my Android device, as most these days, was running the 64-bit version of Kodi from the Google Play store and the same couldn't be directly installed on the AFTV Stick since it only supports the 32-bit version. I was able to get AirPlay working on the device as well using Air Receiver but it worked well mostly for music. Screen mirroring wasn't of such great quality even at High settings and video failed to mirror completely.

The remote works remarkably well with Kodi, though that might not be the case with other sideloaded apps. Since a lot of the apps are made only for touch, I would recommend sideloading the 'Mouse Toggle' app first as it enables a mouse pointer within these apps and thus makes them accessible. Thus, I have to recommend the use of a Bluetooth mouse when using most sideloaded apps though a Bluetooth keyboard may not be as essential on account of the mobile apps.


Before giving my subjective opinion on the performance of the device, I decided to benchmark it using Geekbench 4. For a device that essentially has the same hardware as my Galaxy S3 did 5 years ago with its low-end 1.3 GHz Mediatek MT8127 quad-core Cortex-A53 processor and Mali450 MP4 GPU, I wasn't expecting much. True to form, the CPU scored only 432 and 1072 in the single and multi-core tests respectively while the GPU scored 778 in the Compute test. For reference, my iPhone 7 had scored 3460, 5890 and 12740 in these tests previously.

Benchmarks don't determine real life performance, so I don't pay much attention to them. However, in case of the AFTV Stick, the performance (or lack thereof) is perceptible during regular usage. Of course, if your main usage is limited to only using the Prime Video or Netflix app, you wouldn't notice much as the interface is quite fluid in those cases. However, running a number of apps, especially sideloaded ones like Kodi and returning to the Home screen had an immense impact on the performance of the device. On occasions it took over 10 seconds to load the Home screen, presumably because the device was repeatedly running out of its lowly 1 GB RAM while running Android Lollipop. On one occasion, the device even rebooted, unable to cope with the demands of multiple app switching. This kind of performance issues are also evident when navigating the interface after starting an app installation. For the price point, it may be difficult to fault the device but that doesn't change the fact that that device is a bit underpowered for its interface.

Interface aside, the main concern is whether the device is able to playback efficiently. Since this is only a Full HD device and not a 4K one, it doesn't need to support H.265/HEVC content over the web since most of the HD and Full HD content is in H.264. Hence, it is no surprise that all the streaming services work fine on the device even at 1080p60. The playback interface can be a bit sluggish at times but not observably so. However, my local library does contain quite a bit of H.265 content and since the product page lists H.265 support, I decided to have a go at it using VLC and Kodi. As it turns out, H.265 support is quite limited. I started with two 10-bit HEVC videos encoded with the Main profile at 1.5 Mbps and 900 Kbps bit rate and both failed to play. While VLC was at least able to playback the audio, Kodi simply hung up. Things were far better when dealing with lower quality HEVC videos as 8-bit, 720p ones at around 800 Kbps worked just fine. On the audio side, it supports 5.1 Dolby Digital Plus support and up to 7.1 HDMI audio pass-through which is as much as you can expect for Full HD viewing.


The Fire TV Stick is a good if not unremarkable piece of hardware for its price, especially during the sale, for what it offers. If you don't happen to have a Smart TV or a Chromecast, then I would recommend picking this one up immediately since it adds the most effective means of consuming the Prime Video membership. Without Prime, this device doesn't make much sense.

On the other hand, the compromises made to bring the device down to this price are quite evident. The interface can struggle at times, even going to the extent of rebooting the device under heavy load. The archaic Android version doesn't help as well though Amazon does a good job of hiding it under their Fire OS skin. However, on the first day itself, I had repeated issues of the TV switching on due to HDMI-CEC activation on the AFTV Stick even though no one was anywhere near the remote.

The compromises on hardware as well as software front don't do much to ruin the experience if you are living within the immediate ecosystem that Amazon presents you with. In fact, for its discounted price, it is a better option that Chromecast through Miracast mirroring on the AFTV Stick isn't quite as intuitive or stable. Android TV isn't much of an option since none of the devices are officially available, though it has the advantage of access to the Google Play store and the official YouTube app. The Mi Box costs nearly twice as much, isn't much more powerful but offers 4K support while the affordability of the Nvidia Shield is questionable. Apple TV on the other hand makes little sense in India without official support and exorbitant pricing.

So, what's my final opinion on the device? After much thought, I have decided to return the Fire TV Stick because it is difficult for me to live with the compromises compared to the benefits. Having said that, I would be more amenable to getting the 4K Fire TV dongle if it is released later in India and competitively priced since it is going to be future proof and the slightly higher firepower in terms of the higher clocked processor and 2 GB RAM is bound to help. I can't imagine everyone else wanting to pay a higher price, especially if a 4K TV purchase is nowhere on the horizon and for those I would recommend the 2nd generation as a great home entertainment device.

Musing #40: Twin Peaks

Considering the time when Twin Peaks was first broadcast, there was no means for me to have even been aware of its existence. However, when I did catch it a few years ago, it was every bit as unconventional and weird as I presume it was when first broadcast. So, why should weirdness matter in itself? For one, its abstraction is both, decipherable and indecipherable in equal parts. At one end, it is grounded to the world we live in and yet there is seemingly something mystic about it, beyond the comprehension of ordinary humans who go about their daily lives. Others would need nothing more than the words - David Lynch.

The major pitfall of the series was the fact that it totally ran off rails in the second season. The first season ended with a cliffhanger that was tied up neatly halfway through the second season and thereafter it was simply an exercise in pain, right up till the final episode of the second season. Fire Walk with Me was unadulterated David Lynch but it was a painful watch for the most part. This put the emphasis on how much the series was dependent on its characters, none more so than Coop and their interactions, rather than the weird world they lived in.

The Return was an unexpected bonanza for the fans and it was more of an emotional rollercoaster than anything else, especially when you watch the enigmatic characters having to accept the realities of the world they live, rather than act in. At the same time, we couldn't have expected David Lynch to dial down the nob on weirdness or to offer a straightforward resolution. Well, he almost did until the final episode of the season. But evil couldn't end with BOB with Judy around and Coop couldn't help believing that he could change the future with the past.

Does the finale leave a lot of loose ends? Yes, it does and thankfully so. In the cinematic world of happy endings, why should we expect everything to be gift wrapped and delivered to the door? There is a kind of finality in knowing that all characters, new and old, are going to go about their lives in Twin Peaks the way they had for the 25 years between seasons 2 and 3, with all their quirks intact, at least in the dimension or timeline we can relate to. Similarly, the fight between good and evil shall continue, irrespective of the past and the dimension or timeline. Will Coop fight it out? Sure, he would. Do we need to see this happen? I think not. After all, the cat and mouse game has always been an ongoing one.

Sundry #7: Superzoom on the Supermoon

It isn't exactly today's supermoon because although I caught a glimpse of it, I didn't record it. In fact, I thoroughly despise the term, probably to the same extent as Neil deGrasse Tyson. To bring home the point, I have instead posted this image from a few months back, captured at 90x zoom on the Panasonic V270. Since it is a video grab, you are effectively looking at a 2 MP image, but since when did the moon's resolution start to matter?

The complete "moon shot" was previously uploaded to YouTube, set to Beethoven's Moonlight Sonata.

Review #22: Halt and Catch Fire

A TV series that goes by the name of a computer race condition is bound to pique my interest, just the way that Pirates of Silicon Valley, Silicon Valley, The IT Crowd and Mr. Robot caught my attention by their name alone. It is no surprise that I never came across the HCF instruction during my time spent in meddling with the assembly language, though I must admit that I have experienced the effects of it in some other manner.

By my standards, I can say that I indulged in binge-watching (which constitutes watching nothing else but a single TV series over a month rather than a weekend) all the 3 seasons released till date including the season finale from earlier this week. The way the show throws around jargon, it indicates that it certainly has its heart in the right place. In fact, the show got me to research a bit more on computer history and taught me a few terms that I was unaware of. It certainly does a great job of setting technology as a plot device. The series is well shot and there couldn’t be a more apt theme song that the one from Trentemøller.

However, in the same breath, it is extremely egregious to see all the technology developments from the past 2 or 3 decades being shown as emanating from the minds of the protagonists over 2 or 3 years. Just when you start thinking where the line shall be drawn, the Season 3 finale jumps a few years but still ends up showing the protagonists pioneering the web browser ala Netscape. At this rate, my guess is that the final season will see them being Yahoo! imitators. Science fiction is wonderful in the way it tries its best to portray the future within the realms of the present understanding while retro fiction can be at fault for attributing all of the present to few minds from the past. HCF does precisely that leading to disbelief and disconnect. Portraying reality seems to be many times better than creating an alternate parallel one.

The next big turn off is the casting which feels quite off the mark and stereotypical. The lead expert coder does her typing using a single finger while looking down on the keyboard and presents a single wide-eyed expression. The chief protagonists include a marketing genius working in tandem with an engineering one from a garage, the only novel template that has ever existed in Silicon Valley. On top of that you have a female hardware expert thrown in for diversity, equality and creating familial tensions. Throw out the technological backdrop as a pretense and all you are left with is a soap opera that tries its desperate best (by including a love scene in every episode) to show the fallacies of human emotions, something that’s par for the course.

Having invested so much in to this show, I am bound to follow the story progression over the final season to its conclusion, but.without the same vigour with which I started the series. This one strictly falls under the “good but some way from great” territory.

Review #14: Cyanogen OS 13.1 (ZNH2KAS1KN) for OnePlus One

I thought I'd do a double header on mobiles this weekend. While the other one was about the past, this one is about the present and presumably the future.

First up, Cyanogen OS is not CyanogenMod. CyanogenMod happens to be one of the oldest Android modifications that is still going strong and has the backing of a large community. Cyanogen OS (COS) on the other hand has managed to incur the wrath of many due to some shady tactics in the past and the fact that they have managed to mimic OEMs in incorporating needless bloatware and "features" in the name of advancement. Having said that, while COS is not the fastest amongst the various Android releases (again contrary to CyanogenMod), it is still the official ROM for the OnePlus One (OPO). While I am admittedly a flasholic, I have tried to take things steady over the past few months by sticking mostly with the stable branch of CyanogenMod. It has served me well for I had more than a few bad experiences with custom ROMs that tend to be updated every day. However, I couldn't resist the impulse of trying out COS 13.1 which is the first release with MOD support (Cyanogen OS with MOD is still not CyanogenMod, get it?). Sheepishly, I will admit that I am glad that Cyanogen Inc. (that's the company in case you are lost) is still extending primary support to the OPO, especially considering that Oxygen OS has failed miserably as the alternate official OS.

The highlight of this COS release then is the MOD support. They are essentially third-party features that can be integrated within the existing system apps, thereby augmenting their functionality in a cohesive manner. For example, the most evident one is the integration of Skype with the Phone and Contacts app or HyperLapse in the Camera app. Most of these are Microsoft integrations at this time including the Cortana selfie feature (not available in India) and OneNote anywhere. The exception would be the Twitter integration with the lock screen. However, only the Hyperlapse integration with the camera seems to be useful and well done. For example, the Skype integration visibly loads quite a bit later after the app leading to a new tab or drop-down suddenly appearing after a few seconds. Cyanogen may label this as "post-app", but it seems to be nothing more than an app within an app.

That aside Cyanogen OS includes the usual bells and whistles listed below. Thankfully, the Xposed framework works fine with it as well so lots of more customizations are on offer. Installation is however not a straightforward process if you are coming from anothe Custom ROM. The latest release is an incremental update (ZNH2KAS1KN), so if you are looking to flash it you need to be on an earlier release of Cyanogen OS (cm-13.0-ZNH0EAS2JK). Not only that, you also need to be unrooted as well as have the stock recovery. Unrooting is straight forward if you have the SuperSU app installed. As for the recovery, you can pick up the recovery.img file from within the full Cyanogen OS fastboot zip file and flash it through an existing TWRP recovery or through fastboot from your PC. However, I decided to do a complete fresh installation using fastboot. For that you need to put your phone in fastboot mode (Power + Volume Up) and make sure you have the Minimal ADB and Fastboot package installed. Thereafter, you can open the command prompt from within the installation folder of the fastboot package (use Shift + right click) where you should also extract the contents of the Cyanogen OS zip fastboot file. The commands to be entered at the prompt are:
fastboot flash aboot emmc_appsboot.mbn
fastboot erase DDR
fastboot flash sbl1 sbl1.mbn
fastboot flash tz tz.mbn
fastboot flash hyp hyp.mbn
fastboot flash rpm rpm.mbn
fastboot flash modem NON-HLOS.bin
fastboot flash cache cache.img
fastboot flash system system.img
fastboot flash recovery recovery.img
fastboot flash userdata userdata.img
fastboot flash boot boot.img
As you are now on a clean COS installation, you will get any official updates (like ZNH0EAS2JK to ZNH2KAS1KN). Once that is done, you may wish to switch to TWRP. The process to do so is the same as what I have mentioned above. You can flash the recovery using fastboot as follows assuming you have the TWRP image at the same place as fastboot:
fastboot flash recovery twrp-3.0.2-0-bacon
The real downside of Cyanogen OS consistently has been its poor battery life (compared to CyanogenMod). Some of it is down to the added bloat and some to poor optimization. Hence, a custom kernel with CPU governor selection (currently using smartmax_eps) and underclocking (currently at 1958 Mhz instead of 2457 Mhz) support might be of some use in alleviating this issue. Once TWRP is loaded, the flashing of custom kernels, SuperSu and Xposed can be done like any other custom ROM and perhaps with a bit of idealism you get the most out of Cyanogen OS unique features that are not part of CyanogenMod (for better or for worse).

List of Cyanogen OS features (not exhaustive but what I have used sometime or the other):

> Launch music app when headset is connected

> LiveDisplay (reduces eyestrain by cutting down on blue light towards the evening)
> Tap to wake (Double tap to wake up screen)
> Double-tap to sleep (Double tap on statusbar to turn off display)
> Prevent accidental wake-up (using proximity sensor)
> LCD Density (Can be changed in increments of 40 DPI, I prefer 440 against the default 480)
> Show search bar in recents menu
> Battery and Notification lights (customize colou and duration of front LED)

> Status Bar icons
> Fonts
> App Icons
> Home screen and Lock screen wallpapers
> On-screen control icons
> Ringtone, notification, alarm
> Boot animation

> Heads up
> Do not disturb  (Priority rules and audio ducking)
> The Quick Settings tile can be edited from the notification shade itself using the 'Edit Tiles' option

Lock Screen
> New! Lock Screen Mods (Happening on Twitter)
> Pattern Customization (Grids of upto 6x6 and hiding of pattern error, dots)
> Music Visualizer

> On-screen navbar with customization
> Hard key backlight duration or toggle
> Power Menu (add screenshot, sound panel)
> End call with power button
> Press power button twice for camea
> Answer call with home button
> Home, Menu button customization (short press, long press, double tap)
> Volume button customization (wake up device, long press to change tracks)

> Circle for Camera
> Finger swipes for music control
> V for camera

System profiles
> Triggers to activate a profile
> Wireless activation (WiFi, Bluetooth)
> Volume Override
> Brightness, lockscreen, airplane mode activations

Status bar
> Clock style (left, right, center, hidden)
> Battery style (Icon portrait/landscape, circle, text, hidden)
> Battery percentage
> Brightness control by sliding status bar
> Notificaton count
> Quick pulldown (using right or left edge)

> Privacy Guard to restrict apps from accessing personal data
> Blocked caller list to block unwanted calls
> Protected apps (to lock certain sensitive apps)

Developer Options
> Advanced reboot (reboot to recovery, bootloader)
> Animation scale in 0.1x increments (to speed up or slow down system animations)
> Kill app back button (Long press back to kill current app)