I recently bought a Fitbit Sense to track and work on my health goals. Since its 2021 and Fitbit being one of the leaders in the market, I knew it could do more than just that — For starters, I wanted it to sync my calendar events from various accounts so I can check my upcoming event with ease. My personal accounts (1 Gmail and 1 Hotmail) and my work account (1 Outlook).

Unfortunately, there was no decent information out there on how to do this. …

I’m a Full-Stack developer who has had extensive experience working with various government organisations working on numerous GDS driven applications using technologies like Nunjucks, Node.js, Angular etc.

Apart from the official documents (which in my opinion is not good), there are no tutorials out there which properly explain how to setup a GDS website from scratch and continue maintaining it as the code base expands. That's exactly what i'm going to be doing here.

Most of the places building GDS websites prefer not to use client-side javascript and hence as part of this tutorial, I will be using only server-side…

For players who were not aware - there are many secret spots scattered around Hogwarts which can be clicked. Clicking each secret spot will reward the player with energy points (sometimes gold, creature foods). These spots reset every 24 hours, which means they can be clicked once everyday to earn some free energy points. Few events also sometimes reward you for finding and clicking these spots.

This document lists & highlights all those secret spots found so far.

East Towers: Peeves

In this guide, I will talk about how to install ClamAV tools in Ubuntu. Additionally, how to use those tools to scan for local files/folders or using a node environment.

On Ubuntu (v16.04.6)


The first step is to install the packages clamavand clamav-daemon.

sudo apt-get install clamav clamav-daemon

The clamav installs other dependencies along with it like clamav-freshclam, clamav-base etc.

Next, you will need to start the clamav-freshclam service by running the following command:

sudo service clamav-freshclam restart
sudo service clamav-freshclam status // to verify

This creates a signature file which is required for the next step.

Note: If clamav-freshclam is started for…

As part of this guide, I’m going to be uploading a file using the HTML input type file element and scan the uploaded file for virus(es) using the npm module, clamscan.


  1. The clamscan module requires the clamdscan or clamav installed on your machine (or the server). If you are not familiar with clamav engine, I highly recommend you read about it first. Additionally, you can follow my guide on how to install clamav and/or clamdscan on Ubuntu.
  2. A node.js module to parse multipart-form data (I’ve used formidablemultiparty, busboy, multer are some of the well known alternatives).

Uploading the file

There is…

In this article, I’m going to discuss a recommended approach to maintain a Swagger document which involves separately validating, testing and publishing it as a npm package.

Most of the people reading this article might have already come across Swagger Specification, which was a while back renamed to OpenAPI Specification.

When it comes to Swagger spec, I always recommend maintaining a separate repository.

The advantages of this approach (as explained in detail in this article) are, that the document can be -

  1. Validated separately.
  2. Unit-tested separately.
  3. Re-used & Version controlled as a package.
  4. Easily split and maintained when its size…

When Google announced on the 4th October 2018 that we can now book Uber using Google Assistant, I was really super excited! As I used to faithfully book Uber everyday to work using my Uber app, this update meant I can book a ride without using my phone.

More importantly, the main reason I was happy about this announcement was that, I could now book an Uber using my Google Home because it’s powered by Google Assistant. The above blog also clearly mentions about booking an Uber ride using Google Home. Or atleast, that’s what I thought!

When I ask…

Spoiler Alert: Anyone who reached Chapter 5 of RDR2 would know that Arthur Morgan was diagnosed with Tuberculosis, which in the year of 1899 is as good as cancer with no known cure. Does that really mean there is no cure in the game for it ? … think again!

In this post, I will mention the cure for the sickness and how to acquire it. Before which we need to understand what sickness in RDR2 really means.

Understanding Sickness in RDR2

Firstly, lets understand the definition of ‘sickness’ in RDR2.

The default time it takes for your core to drain is 90 mins…

If you’re reading this article, I’m assuming you have heard of or worked with Strapi, an open-source NodeJS Content Management Framework to build APIs. If not familiar, you can visit their homepage to get an idea. This guide also requires you to have a generated Strapi project (currently v3.0.0-alpha.14). If not already generated, you can quickly get started here to generate one.

In addition to creating & managing APIs, Strapi also provides loads of additional tools named plugins to aid in your development. One such built-in plugin is the Email plugin which as you guessed is used to shoot out…

For one of my recent Medium articles, I wanted a simple Table of Contents that could scroll a reader to a particular section of my article. When I was researching for a previous implementation of such a feature in Medium, I came across couple of good articles on How to link to a specific paragraph in your Medium article (2018 Table of Contents method) and How to easily create a table of contents for your Medium article. The articles were no doubt insightful but they were not exactly what I was looking for, a smooth scroll(without reload) rather than a…

Nikhil Nanjappa

Experienced Full-Stack Developer who loves sharing knowledge. Gaming & Music addict. Always grateful and looking for new experiences in life.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store