From 8fa0d4cc58b844d84f7b1bf6f269162b645a2f0d Mon Sep 17 00:00:00 2001 From: Navan Chauhan Date: Mon, 23 Nov 2020 19:39:48 +0530 Subject: Publish deploy 2020-11-23 19:39 --- posts/2010-01-24-experiments/index.html | 2 +- posts/2019-05-05-Custom-Snowboard-Anemone-Theme/index.html | 2 +- posts/2019-12-04-Google-Teachable-Machines/index.html | 2 +- posts/2019-12-08-Image-Classifier-Tensorflow/index.html | 2 +- posts/2019-12-08-Splitting-Zips/index.html | 2 +- posts/2019-12-10-TensorFlow-Model-Prediction/index.html | 2 +- posts/2019-12-16-TensorFlow-Polynomial-Regression/index.html | 2 +- posts/2019-12-22-Fake-News-Detector/index.html | 2 +- posts/2020-01-14-Converting-between-PIL-NumPy/index.html | 2 +- posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab/index.html | 2 +- posts/2020-01-16-Image-Classifier-Using-Turicreate/index.html | 2 +- posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal/index.html | 2 +- posts/2020-03-03-Playing-With-Android-TV/index.html | 2 +- posts/2020-03-08-Making-Vaporwave-Track/index.html | 2 +- posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS/index.html | 2 +- posts/2020-05-31-compiling-open-babel-on-ios/index.html | 2 +- .../index.html | 2 +- posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS/index.html | 2 +- posts/2020-07-01-Install-rdkit-colab/index.html | 2 +- posts/2020-08-01-Natural-Feature-Tracking-ARJS/index.html | 2 +- posts/2020-10-11-macOS-Virtual-Cam-OBS/index.html | 2 +- posts/2020-11-17-Lets-Encrypt-DuckDns/index.html | 2 +- posts/hello-world/index.html | 2 +- posts/index.html | 2 +- 24 files changed, 24 insertions(+), 24 deletions(-) (limited to 'posts') diff --git a/posts/2010-01-24-experiments/index.html b/posts/2010-01-24-experiments/index.html index 579ba5b..e8394c7 100644 --- a/posts/2010-01-24-experiments/index.html +++ b/posts/2010-01-24-experiments/index.html @@ -1 +1 @@ -Experiments | Navan Chauhan
1 minute readCreated on January 24, 2010Last modified on June 1, 2020

Experiments

https://s3-us-west-2.amazonaws.com/s.cdpn.io/148866/img-original.jpg

Tagged with:
\ No newline at end of file +Experiments | Navan Chauhan
1 minute readCreated on January 24, 2010Last modified on June 1, 2020

Experiments

https://s3-us-west-2.amazonaws.com/s.cdpn.io/148866/img-original.jpg

Tagged with:
\ No newline at end of file diff --git a/posts/2019-05-05-Custom-Snowboard-Anemone-Theme/index.html b/posts/2019-05-05-Custom-Snowboard-Anemone-Theme/index.html index 02d0296..05b25aa 100644 --- a/posts/2019-05-05-Custom-Snowboard-Anemone-Theme/index.html +++ b/posts/2019-05-05-Custom-Snowboard-Anemone-Theme/index.html @@ -1,4 +1,4 @@ -Creating your own custom theme for Snowboard or Anemone | Navan Chauhan
5 minute readCreated on May 5, 2019Last modified on September 15, 2020

Creating your own custom theme for Snowboard or Anemone

Contents

  • Getting Started
  • Theme Configuration
  • Creating Icons
  • Exporting Icons
  • Icon Masks
  • Packaging
  • Building the DEB

Getting Started

Note: Without the proper folder structure, your theme may not show up!

  • Create a new folder called themeName.theme (Replace themeName with your desired theme name)
  • Within themeName.theme folder, create another folder called IconBundles (You cannot change this name)

Theme Configuration

  • Now, inside the themeName.theme folder, create a file called Info.plist and paste the following
<?xml version="1.0" encoding="UTF-8"?> +Creating your own custom theme for Snowboard or Anemone | Navan Chauhan
5 minute readCreated on May 5, 2019Last modified on September 15, 2020

Creating your own custom theme for Snowboard or Anemone

Contents

  • Getting Started
  • Theme Configuration
  • Creating Icons
  • Exporting Icons
  • Icon Masks
  • Packaging
  • Building the DEB

Getting Started

Note: Without the proper folder structure, your theme may not show up!

  • Create a new folder called themeName.theme (Replace themeName with your desired theme name)
  • Within themeName.theme folder, create another folder called IconBundles (You cannot change this name)

Theme Configuration

  • Now, inside the themeName.theme folder, create a file called Info.plist and paste the following
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> diff --git a/posts/2019-12-04-Google-Teachable-Machines/index.html b/posts/2019-12-04-Google-Teachable-Machines/index.html index f74eb01..1625660 100644 --- a/posts/2019-12-04-Google-Teachable-Machines/index.html +++ b/posts/2019-12-04-Google-Teachable-Machines/index.html @@ -1 +1 @@ -Image Classifier With Teachable Machines | Navan Chauhan
2 minute readCreated on December 4, 2019Last modified on September 15, 2020

Image Classifier With Teachable Machines

Made for Google Code-In

Task Description

Using Glitch and the Teachable Machines, build a Book Detector with Tensorflow.js. When a book is recognized, the code would randomly suggest a book/tell a famous quote from a book. Here is an example Project to get you started: https://glitch.com/~voltaic-acorn

Details

  1. Collecting Data

Teachable Machine allows you to create your dataset just by using your webcam! I created a database consisting of three classes ( Three Books ) and approximately grabbed 100 pictures for each book/class

  1. Training

Training on teachable machines is as simple as clicking the train button. I did not even have to modify any configurations.

  1. Finding Labels

Because I originally entered the entire name of the book and it's author's name as the label, the class name got truncated (Note to self, use shorter class names :p ). I then modified the code to print the modified label names in an alert box.

  1. Adding a suggestions function

I first added a text field on the main page and then modified the JavaScript file to suggest a similar book whenever the model predicted with an accuracy >= 98%

  1. Running!

Here it is running!

Remix this project:-

https://luminous-opinion.glitch.me

Tagged with:
\ No newline at end of file +Image Classifier With Teachable Machines | Navan Chauhan
2 minute readCreated on December 4, 2019Last modified on September 15, 2020

Image Classifier With Teachable Machines

Made for Google Code-In

Task Description

Using Glitch and the Teachable Machines, build a Book Detector with Tensorflow.js. When a book is recognized, the code would randomly suggest a book/tell a famous quote from a book. Here is an example Project to get you started: https://glitch.com/~voltaic-acorn

Details

  1. Collecting Data

Teachable Machine allows you to create your dataset just by using your webcam! I created a database consisting of three classes ( Three Books ) and approximately grabbed 100 pictures for each book/class

  1. Training

Training on teachable machines is as simple as clicking the train button. I did not even have to modify any configurations.

  1. Finding Labels

Because I originally entered the entire name of the book and it's author's name as the label, the class name got truncated (Note to self, use shorter class names :p ). I then modified the code to print the modified label names in an alert box.

  1. Adding a suggestions function

I first added a text field on the main page and then modified the JavaScript file to suggest a similar book whenever the model predicted with an accuracy >= 98%

  1. Running!

Here it is running!

Remix this project:-

https://luminous-opinion.glitch.me

Tagged with:
\ No newline at end of file diff --git a/posts/2019-12-08-Image-Classifier-Tensorflow/index.html b/posts/2019-12-08-Image-Classifier-Tensorflow/index.html index 004ec1c..359dd1e 100644 --- a/posts/2019-12-08-Image-Classifier-Tensorflow/index.html +++ b/posts/2019-12-08-Image-Classifier-Tensorflow/index.html @@ -1,4 +1,4 @@ -Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria | Navan Chauhan
4 minute readCreated on December 8, 2019Last modified on September 15, 2020

Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria

Done during Google Code-In. Org: Tensorflow.

Imports

%tensorflow_version 2.x #This is for telling Colab that you want to use TF 2.0, ignore if running on local machine +Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria | Navan Chauhan
4 minute readCreated on December 8, 2019Last modified on September 15, 2020

Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria

Done during Google Code-In. Org: Tensorflow.

Imports

%tensorflow_version 2.x #This is for telling Colab that you want to use TF 2.0, ignore if running on local machine from PIL import Image # We use the PIL Library to resize images import numpy as np diff --git a/posts/2019-12-08-Splitting-Zips/index.html b/posts/2019-12-08-Splitting-Zips/index.html index ceb7690..21ec7af 100644 --- a/posts/2019-12-08-Splitting-Zips/index.html +++ b/posts/2019-12-08-Splitting-Zips/index.html @@ -1,4 +1,4 @@ -Splitting ZIPs into Multiple Parts | Navan Chauhan
1 minute readCreated on December 8, 2019Last modified on June 1, 2020

Splitting ZIPs into Multiple Parts

Tested on macOS

Creating the archive:

zip -r -s 5 oodlesofnoodles.zip website/ +Splitting ZIPs into Multiple Parts | Navan Chauhan
1 minute readCreated on December 8, 2019Last modified on June 1, 2020

Splitting ZIPs into Multiple Parts

Tested on macOS

Creating the archive:

zip -r -s 5 oodlesofnoodles.zip website/

5 stands for each split files' size (in mb, kb and gb can also be specified)

For encrypting the zip:

zip -er -s 5 oodlesofnoodles.zip website

Extracting Files

First we need to collect all parts, then

zip -F oodlesofnoodles.zip --out merged.zip
Tagged with:
\ No newline at end of file diff --git a/posts/2019-12-10-TensorFlow-Model-Prediction/index.html b/posts/2019-12-10-TensorFlow-Model-Prediction/index.html index cbebf81..6b35e5d 100644 --- a/posts/2019-12-10-TensorFlow-Model-Prediction/index.html +++ b/posts/2019-12-10-TensorFlow-Model-Prediction/index.html @@ -1,4 +1,4 @@ -Making Predictions using Image Classifier (TensorFlow) | Navan Chauhan
1 minute readCreated on December 10, 2019Last modified on June 1, 2020

Making Predictions using Image Classifier (TensorFlow)

This was tested on TF 2.x and works as of 2019-12-10

If you want to understand how to make your own custom image classifier, please refer to my previous post.

If you followed my last post, then you created a model which took an image of dimensions 50x50 as an input.

First we import the following if we have not imported these before

import cv2 +Making Predictions using Image Classifier (TensorFlow) | Navan Chauhan
1 minute readCreated on December 10, 2019Last modified on June 1, 2020

Making Predictions using Image Classifier (TensorFlow)

This was tested on TF 2.x and works as of 2019-12-10

If you want to understand how to make your own custom image classifier, please refer to my previous post.

If you followed my last post, then you created a model which took an image of dimensions 50x50 as an input.

First we import the following if we have not imported these before

import cv2 import os

Then we read the file using OpenCV.

image=cv2.imread(imagePath)

The cv2. imread() function returns a NumPy array representing the image. Therefore, we need to convert it before we can use it.

image_from_array = Image.fromarray(image, 'RGB') diff --git a/posts/2019-12-16-TensorFlow-Polynomial-Regression/index.html b/posts/2019-12-16-TensorFlow-Polynomial-Regression/index.html index 3ecddd6..63f5fb1 100644 --- a/posts/2019-12-16-TensorFlow-Polynomial-Regression/index.html +++ b/posts/2019-12-16-TensorFlow-Polynomial-Regression/index.html @@ -1,4 +1,4 @@ -Polynomial Regression Using TensorFlow | Navan Chauhan
17 minute readCreated on December 16, 2019Last modified on September 15, 2020

Polynomial Regression Using TensorFlow

In this tutorial you will learn about polynomial regression and how you can implement it in Tensorflow.

In this, we will be performing polynomial regression using 5 types of equations -

  • Linear
  • Quadratic
  • Cubic
  • Quartic
  • Quintic

Regression

What is Regression?

Regression is a statistical measurement that is used to try to determine the relationship between a dependent variable (often denoted by Y), and series of varying variables (called independent variables, often denoted by X ).

What is Polynomial Regression

This is a form of Regression Analysis where the relationship between Y and X is denoted as the nth degree/power of X. Polynomial regression even fits a non-linear relationship (e.g when the points don't form a straight line).

Imports

import tensorflow.compat.v1 as tf +Polynomial Regression Using TensorFlow | Navan Chauhan
17 minute readCreated on December 16, 2019Last modified on September 15, 2020

Polynomial Regression Using TensorFlow

In this tutorial you will learn about polynomial regression and how you can implement it in Tensorflow.

In this, we will be performing polynomial regression using 5 types of equations -

  • Linear
  • Quadratic
  • Cubic
  • Quartic
  • Quintic

Regression

What is Regression?

Regression is a statistical measurement that is used to try to determine the relationship between a dependent variable (often denoted by Y), and series of varying variables (called independent variables, often denoted by X ).

What is Polynomial Regression

This is a form of Regression Analysis where the relationship between Y and X is denoted as the nth degree/power of X. Polynomial regression even fits a non-linear relationship (e.g when the points don't form a straight line).

Imports

import tensorflow.compat.v1 as tf tf.disable_v2_behavior() import matplotlib.pyplot as plt import numpy as np diff --git a/posts/2019-12-22-Fake-News-Detector/index.html b/posts/2019-12-22-Fake-News-Detector/index.html index 14c4770..f6dbc67 100644 --- a/posts/2019-12-22-Fake-News-Detector/index.html +++ b/posts/2019-12-22-Fake-News-Detector/index.html @@ -1,4 +1,4 @@ -Building a Fake News Detector with Turicreate | Navan Chauhan
7 minute readCreated on December 22, 2019Last modified on September 15, 2020

Building a Fake News Detector with Turicreate

In this tutorial we will build a fake news detecting app from scratch, using Turicreate for the machine learning model and SwiftUI for building the app

Note: These commands are written as if you are running a jupyter notebook.

Building the Machine Learning Model

Data Gathering

To build a classifier, you need a lot of data. George McIntire (GH: @joolsa) has created a wonderful dataset containing the headline, body and whether it is fake or real. Whenever you are looking for a dataset, always try searching on Kaggle and GitHub before you start building your own

Dependencies

I used a Google Colab instance for training my model. If you also plan on using Google Colab then I recommend choosing a GPU Instance (It is Free) This allows you to train the model on the GPU. Turicreate is built on top of Apache's MXNet Framework, for us to use GPU we need to install a CUDA compatible MXNet package.

!pip install turicreate +Building a Fake News Detector with Turicreate | Navan Chauhan
7 minute readCreated on December 22, 2019Last modified on September 15, 2020

Building a Fake News Detector with Turicreate

In this tutorial we will build a fake news detecting app from scratch, using Turicreate for the machine learning model and SwiftUI for building the app

Note: These commands are written as if you are running a jupyter notebook.

Building the Machine Learning Model

Data Gathering

To build a classifier, you need a lot of data. George McIntire (GH: @joolsa) has created a wonderful dataset containing the headline, body and whether it is fake or real. Whenever you are looking for a dataset, always try searching on Kaggle and GitHub before you start building your own

Dependencies

I used a Google Colab instance for training my model. If you also plan on using Google Colab then I recommend choosing a GPU Instance (It is Free) This allows you to train the model on the GPU. Turicreate is built on top of Apache's MXNet Framework, for us to use GPU we need to install a CUDA compatible MXNet package.

!pip install turicreate !pip uninstall -y mxnet !pip install mxnet-cu100==1.4.0.post0

If you do not wish to train on GPU or are running it on your computer, you can ignore the last two lines

Downloading the Dataset

!wget -q "https://github.com/joolsa/fake_real_news_dataset/raw/master/fake_or_real_news.csv.zip" diff --git a/posts/2020-01-14-Converting-between-PIL-NumPy/index.html b/posts/2020-01-14-Converting-between-PIL-NumPy/index.html index 9b54cc6..5715084 100644 --- a/posts/2020-01-14-Converting-between-PIL-NumPy/index.html +++ b/posts/2020-01-14-Converting-between-PIL-NumPy/index.html @@ -1,4 +1,4 @@ -Converting between image and NumPy array | Navan Chauhan
1 minute readCreated on January 14, 2020Last modified on June 1, 2020

Converting between image and NumPy array

import numpy +Converting between image and NumPy array | Navan Chauhan
1 minute readCreated on January 14, 2020Last modified on June 1, 2020

Converting between image and NumPy array

import numpy import PIL # Convert PIL Image to NumPy array diff --git a/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab/index.html b/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab/index.html index c79edd0..3fb9e75 100644 --- a/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab/index.html +++ b/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab/index.html @@ -1,4 +1,4 @@ -Setting up Kaggle to use with Google Colab | Navan Chauhan
1 minute readCreated on January 15, 2020Last modified on September 15, 2020

Setting up Kaggle to use with Google Colab

In order to be able to access Kaggle Datasets, you will need to have an account on Kaggle (which is Free)

Grabbing Our Tokens

Go to Kaggle

Click on your User Profile and Click on My Account

Scroll Down until you see Create New API Token

This will download your token as a JSON file

Copy the File to the root folder of your Google Drive

Setting up Colab

Mounting Google Drive

import os +Setting up Kaggle to use with Google Colab | Navan Chauhan
1 minute readCreated on January 15, 2020Last modified on September 15, 2020

Setting up Kaggle to use with Google Colab

In order to be able to access Kaggle Datasets, you will need to have an account on Kaggle (which is Free)

Grabbing Our Tokens

Go to Kaggle

Click on your User Profile and Click on My Account

Scroll Down until you see Create New API Token

This will download your token as a JSON file

Copy the File to the root folder of your Google Drive

Setting up Colab

Mounting Google Drive

import os from google.colab import drive drive.mount('/content/drive')

After this click on the URL in the output section, login and then paste the Auth Code

Configuring Kaggle

os.environ['KAGGLE_CONFIG_DIR'] = "/content/drive/My Drive/" diff --git a/posts/2020-01-16-Image-Classifier-Using-Turicreate/index.html b/posts/2020-01-16-Image-Classifier-Using-Turicreate/index.html index ce03f3a..ab837c7 100644 --- a/posts/2020-01-16-Image-Classifier-Using-Turicreate/index.html +++ b/posts/2020-01-16-Image-Classifier-Using-Turicreate/index.html @@ -1,4 +1,4 @@ -Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire | Navan Chauhan
6 minute readCreated on January 16, 2020Last modified on June 1, 2020

Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire

For setting up Kaggle with Google Colab, please refer to my previous post

Dataset

Mounting Google Drive

import os +Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire | Navan Chauhan
6 minute readCreated on January 16, 2020Last modified on June 1, 2020

Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire

For setting up Kaggle with Google Colab, please refer to my previous post

Dataset

Mounting Google Drive

import os from google.colab import drive drive.mount('/content/drive')

Downloading Dataset from Kaggle

os.environ['KAGGLE_CONFIG_DIR'] = "/content/drive/My Drive/" diff --git a/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal/index.html b/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal/index.html index 3f4dcb4..4b6b7f4 100644 --- a/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal/index.html +++ b/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal/index.html @@ -1 +1 @@ -How to setup Bluetooth on a Raspberry Pi | Navan Chauhan
1 minute readCreated on January 19, 2020Last modified on June 1, 2020

How to setup Bluetooth on a Raspberry Pi

This was tested on a Raspberry Pi Zero W

Enter in the Bluetooth Mode

pi@raspberrypi:~ $ bluetoothctl

[bluetooth]# agent on

[bluetooth]# default-agent

[bluetooth]# scan on

To Pair

While being in bluetooth mode

[bluetooth]# pair XX:XX:XX:XX:XX:XX

To Exit out of bluetoothctl anytime, just type exit

Tagged with:
\ No newline at end of file +How to setup Bluetooth on a Raspberry Pi | Navan Chauhan
1 minute readCreated on January 19, 2020Last modified on June 1, 2020

How to setup Bluetooth on a Raspberry Pi

This was tested on a Raspberry Pi Zero W

Enter in the Bluetooth Mode

pi@raspberrypi:~ $ bluetoothctl

[bluetooth]# agent on

[bluetooth]# default-agent

[bluetooth]# scan on

To Pair

While being in bluetooth mode

[bluetooth]# pair XX:XX:XX:XX:XX:XX

To Exit out of bluetoothctl anytime, just type exit

Tagged with:
\ No newline at end of file diff --git a/posts/2020-03-03-Playing-With-Android-TV/index.html b/posts/2020-03-03-Playing-With-Android-TV/index.html index 648ecd3..40e9c0b 100644 --- a/posts/2020-03-03-Playing-With-Android-TV/index.html +++ b/posts/2020-03-03-Playing-With-Android-TV/index.html @@ -1 +1 @@ -Tinkering with an Android TV | Navan Chauhan
1 minute readCreated on March 3, 2020Last modified on June 1, 2020

Tinkering with an Android TV

So I have an Android TV, this posts covers everything I have tried on it

Contents

  1. Getting TV's IP Address
  2. Enable Developer Settings
  3. Enable ADB
  4. Connect ADB
  5. Manipulating Packages

IP-Address

These steps should be similar for all Android-TVs

  • Go To Settings
  • Go to Network
  • Advanced Settings
  • Network Status
  • Note Down IP-Address

The other option is to go to your router's server page and get connected devices

Developer-Settings

  • Go To Settings
  • About
  • Continously click on the "Build" option until it says "You are a Developer"

Enable-ADB

  • Go to Settings
  • Go to Developer Options
  • Scroll untill you find ADB Debugging and enable that option

Connect-ADB

  • Open Terminal (Make sure you have ADB installed)
  • Enter the following command adb connect <IP_ADDRESS>
  • To test the connection run adb logcat

Manipulating Apps / Packages

Listing Packages

  • adb shell
  • pm list packages

Installing Packages

  • adb install -r package.apk

Uninstalling Packages

  • adb uninstall com.company.yourpackagename
Tagged with:
\ No newline at end of file +Tinkering with an Android TV | Navan Chauhan
1 minute readCreated on March 3, 2020Last modified on June 1, 2020

Tinkering with an Android TV

So I have an Android TV, this posts covers everything I have tried on it

Contents

  1. Getting TV's IP Address
  2. Enable Developer Settings
  3. Enable ADB
  4. Connect ADB
  5. Manipulating Packages

IP-Address

These steps should be similar for all Android-TVs

  • Go To Settings
  • Go to Network
  • Advanced Settings
  • Network Status
  • Note Down IP-Address

The other option is to go to your router's server page and get connected devices

Developer-Settings

  • Go To Settings
  • About
  • Continously click on the "Build" option until it says "You are a Developer"

Enable-ADB

  • Go to Settings
  • Go to Developer Options
  • Scroll untill you find ADB Debugging and enable that option

Connect-ADB

  • Open Terminal (Make sure you have ADB installed)
  • Enter the following command adb connect <IP_ADDRESS>
  • To test the connection run adb logcat

Manipulating Apps / Packages

Listing Packages

  • adb shell
  • pm list packages

Installing Packages

  • adb install -r package.apk

Uninstalling Packages

  • adb uninstall com.company.yourpackagename
Tagged with:
\ No newline at end of file diff --git a/posts/2020-03-08-Making-Vaporwave-Track/index.html b/posts/2020-03-08-Making-Vaporwave-Track/index.html index 5744348..83248fc 100644 --- a/posts/2020-03-08-Making-Vaporwave-Track/index.html +++ b/posts/2020-03-08-Making-Vaporwave-Track/index.html @@ -1 +1 @@ -Making My First Vaporwave Track (Remix) | Navan Chauhan
2 minute readCreated on March 8, 2020Last modified on September 15, 2020

Making My First Vaporwave Track (Remix)

I finally completed my first quick and dirty vaporwave remix of "I Want It That Way" by the Backstreet Boys

V A P O R W A V E

Vaporwave is all about A E S T H E T I C S. Vaporwave is a type of music genre that emerged as a parody of Chillwave, shared more as a meme rather than a proper musical genre. Of course this changed as the genre become mature

How to Vaporwave

The first track which is considered to be actual Vaporwave is Ramona Xavier's Macintosh Plus, this set the the guidelines for making Vaporwave

  • Take a 1980s RnB song
  • Slow it down
  • Add Bass and Treble
  • Add again
  • Add Reverb ( make sure its wet )

There you have your very own Vaporwave track.

( Now, there are some tracks being produced which are not remixes and are original )

My Remix

Where is the Programming?

The fact that there are steps on producing Vaporwave, this gave me the idea that Vaporwave can actually be made using programming, stay tuned for when I publish the program which I am working on ( Generating A E S T H E T I C artwork and remixes)

Tagged with:
\ No newline at end of file +Making My First Vaporwave Track (Remix) | Navan Chauhan
2 minute readCreated on March 8, 2020Last modified on September 15, 2020

Making My First Vaporwave Track (Remix)

I finally completed my first quick and dirty vaporwave remix of "I Want It That Way" by the Backstreet Boys

V A P O R W A V E

Vaporwave is all about A E S T H E T I C S. Vaporwave is a type of music genre that emerged as a parody of Chillwave, shared more as a meme rather than a proper musical genre. Of course this changed as the genre become mature

How to Vaporwave

The first track which is considered to be actual Vaporwave is Ramona Xavier's Macintosh Plus, this set the the guidelines for making Vaporwave

  • Take a 1980s RnB song
  • Slow it down
  • Add Bass and Treble
  • Add again
  • Add Reverb ( make sure its wet )

There you have your very own Vaporwave track.

( Now, there are some tracks being produced which are not remixes and are original )

My Remix

Where is the Programming?

The fact that there are steps on producing Vaporwave, this gave me the idea that Vaporwave can actually be made using programming, stay tuned for when I publish the program which I am working on ( Generating A E S T H E T I C artwork and remixes)

Tagged with:
\ No newline at end of file diff --git a/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS/index.html b/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS/index.html index 5eaa1ce..fa2664f 100644 --- a/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS/index.html +++ b/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS/index.html @@ -1,4 +1,4 @@ -Fixing X11 Error on macOS Catalina for AmberTools 18/19 | Navan Chauhan
2 minute readCreated on April 13, 2020Last modified on September 15, 2020

Fixing X11 Error on macOS Catalina for AmberTools 18/19

I was trying to install AmberTools on my macOS Catalina Installation. Running ./configure -macAccelerate clang gave me an error that it could not find X11 libraries, even though locate libXt showed that my installation was correct.

Error:

Could not find the X11 libraries; you may need to edit config.h +Fixing X11 Error on macOS Catalina for AmberTools 18/19 | Navan Chauhan
2 minute readCreated on April 13, 2020Last modified on September 15, 2020

Fixing X11 Error on macOS Catalina for AmberTools 18/19

I was trying to install AmberTools on my macOS Catalina Installation. Running ./configure -macAccelerate clang gave me an error that it could not find X11 libraries, even though locate libXt showed that my installation was correct.

Error:

Could not find the X11 libraries; you may need to edit config.h to set the XHOME and XLIBS variables. Error: The X11 libraries are not in the usual location ! To search for them try the command: locate libXt diff --git a/posts/2020-05-31-compiling-open-babel-on-ios/index.html b/posts/2020-05-31-compiling-open-babel-on-ios/index.html index 4ddee70..9206b45 100644 --- a/posts/2020-05-31-compiling-open-babel-on-ios/index.html +++ b/posts/2020-05-31-compiling-open-babel-on-ios/index.html @@ -1,4 +1,4 @@ -Compiling Open Babel on iOS | Navan Chauhan
5 minute readCreated on May 31, 2020Last modified on September 15, 2020

Compiling Open Babel on iOS

Due to the fact that my summer vacations started today, I had the brilliant idea of trying to run open babel on my iPad. To give a little background, I had tried to compile AutoDock Vina using a cross-compiler but I had miserably failed.

I am running the Checkr1n jailbreak on my iPad and the Unc0ver jailbreak on my phone.

But Why?

Well, just because I can. This is literally the only reason I tried compiling it and also partially because in the long run I want to compile AutoDock Vina so I can do Molecular Docking on the go.

Let's Go!

How hard can it be to compile open babel right? It is just a simple software with clear and concise build instructions. I just need to use cmake to build and the make to install.

It is 11 AM in the morning. I install clang, cmake and make from the Sam Bingner's repository, fired up ssh, downloaded the source code and ran the build command.`clang

Fail No. 1

I couldn't even get cmake to run, I did a little digging around StackOverflow and founf that I needed the iOS SDK, sure no problem. I waited for Xcode to update and transferred the SDKs to my iPad

scp -r /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk root@192.168.1.8:/var/sdks/ +Compiling Open Babel on iOS | Navan Chauhan
5 minute readCreated on May 31, 2020Last modified on September 15, 2020

Compiling Open Babel on iOS

Due to the fact that my summer vacations started today, I had the brilliant idea of trying to run open babel on my iPad. To give a little background, I had tried to compile AutoDock Vina using a cross-compiler but I had miserably failed.

I am running the Checkr1n jailbreak on my iPad and the Unc0ver jailbreak on my phone.

But Why?

Well, just because I can. This is literally the only reason I tried compiling it and also partially because in the long run I want to compile AutoDock Vina so I can do Molecular Docking on the go.

Let's Go!

How hard can it be to compile open babel right? It is just a simple software with clear and concise build instructions. I just need to use cmake to build and the make to install.

It is 11 AM in the morning. I install clang, cmake and make from the Sam Bingner's repository, fired up ssh, downloaded the source code and ran the build command.`clang

Fail No. 1

I couldn't even get cmake to run, I did a little digging around StackOverflow and founf that I needed the iOS SDK, sure no problem. I waited for Xcode to update and transferred the SDKs to my iPad

scp -r /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk root@192.168.1.8:/var/sdks/

Them I told cmake that this is the location for my SDK 😠. Successful! Now I just needed to use make.

Fail No. 2

It was giving the error that thread-local-storage was not supported on this device.

[ 0%] Building CXX object src/CMakeFiles/openbabel.dir/alias.cpp.o [ 1%] Building CXX object src/CMakeFiles/openbabel.dir/atom.cpp.o In file included from /var/root/obabel/ob-src/src/atom.cpp:28: diff --git a/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL/index.html b/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL/index.html index 081e1f6..87ff8e2 100644 --- a/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL/index.html +++ b/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL/index.html @@ -1,4 +1,4 @@ -Workflow for Lightning Fast Molecular Docking Part One | Navan Chauhan
2 minute readCreated on June 1, 2020Last modified on September 15, 2020

Workflow for Lightning Fast Molecular Docking Part One

My Setup

  • macOS Catalina ( RIP 32bit app)
  • PyMOL
  • AutoDock Vina
  • Open Babel

One Command Docking

obabel -:"$(pbpaste)" --gen3d -opdbqt -Otest.pdbqt && vina --receptor lu.pdbqt --center_x -9.7 --center_y 11.4 --center_z 68.9 --size_x 19.3 --size_y 29.9 --size_z 21.3 --ligand test.pdbqt +Workflow for Lightning Fast Molecular Docking Part One | Navan Chauhan
2 minute readCreated on June 1, 2020Last modified on September 15, 2020

Workflow for Lightning Fast Molecular Docking Part One

My Setup

  • macOS Catalina ( RIP 32bit app)
  • PyMOL
  • AutoDock Vina
  • Open Babel

One Command Docking

obabel -:"$(pbpaste)" --gen3d -opdbqt -Otest.pdbqt && vina --receptor lu.pdbqt --center_x -9.7 --center_y 11.4 --center_z 68.9 --size_x 19.3 --size_y 29.9 --size_z 21.3 --ligand test.pdbqt

To run this command you simple copy the SMILES structure of the ligand you want an it automatically takes it from your clipboard, generates the 3D structure in the AutoDock PDBQT format using Open Babel and then docks it with your receptor using AutoDock Vina, all with just one command.

Let me break down the commands

obabel -:"$(pbpaste)" --gen3d -opdbqt -Otest.pdbqt

pbpaste and pbcopy are macOS commands for pasting and copying from and to the clipboard. Linux users may install the xclip and xsel packages from their respective package managers and then insert these aliases into their bash_profile, zshrc e.t.c

alias pbcopy='xclip -selection clipboard' alias pbpaste='xclip -selection clipboard -o' diff --git a/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS/index.html b/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS/index.html index 0a3935d..cb5e938 100644 --- a/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS/index.html +++ b/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS/index.html @@ -1,4 +1,4 @@ -Compiling AutoDock Vina on iOS | Navan Chauhan
3 minute readCreated on June 2, 2020Last modified on September 15, 2020

Compiling AutoDock Vina on iOS

Why? Because I can.

Installing makedepend

makedepend is a Unix tool used to generate dependencies of C source files. Most modern programs do not use this anymore, but then again AutoDock Vina's source code hasn't been changed since 2011. The first hurdle came when I saw that there was no makedepend command, neither was there any package on any development repository for iOS. So, I tracked down the original source code for makedepend (https://github.com/DerellLicht/makedepend). According to the repository this is actually the source code for the makedepend utility that came with some XWindows distribution back around Y2K. I am pretty sure there is a problem with my current compiler configuration because I had to manually edit the Makefile to provide the path to the iOS SDKs using the -isysroot flag.

Editing the Makefile

Original Makefile ( I used the provided mac Makefile base )

BASE=/usr/local +Compiling AutoDock Vina on iOS | Navan Chauhan
3 minute readCreated on June 2, 2020Last modified on September 15, 2020

Compiling AutoDock Vina on iOS

Why? Because I can.

Installing makedepend

makedepend is a Unix tool used to generate dependencies of C source files. Most modern programs do not use this anymore, but then again AutoDock Vina's source code hasn't been changed since 2011. The first hurdle came when I saw that there was no makedepend command, neither was there any package on any development repository for iOS. So, I tracked down the original source code for makedepend (https://github.com/DerellLicht/makedepend). According to the repository this is actually the source code for the makedepend utility that came with some XWindows distribution back around Y2K. I am pretty sure there is a problem with my current compiler configuration because I had to manually edit the Makefile to provide the path to the iOS SDKs using the -isysroot flag.

Editing the Makefile

Original Makefile ( I used the provided mac Makefile base )

BASE=/usr/local BOOST_VERSION=1_41 BOOST_INCLUDE = $(BASE)/include C_PLATFORM=-arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 diff --git a/posts/2020-07-01-Install-rdkit-colab/index.html b/posts/2020-07-01-Install-rdkit-colab/index.html index 8b2a36a..4391372 100644 --- a/posts/2020-07-01-Install-rdkit-colab/index.html +++ b/posts/2020-07-01-Install-rdkit-colab/index.html @@ -1,4 +1,4 @@ -Installing RDKit on Google Colab | Navan Chauhan
2 minute readCreated on July 1, 2020Last modified on September 15, 2020

Installing RDKit on Google Colab

RDKit is one of the most integral part of any Cheminfomatic specialist's toolkit but it is notoriously difficult to install unless you already have conda installed. I originally found this in a GitHub Gist but I have not been able to find that gist again :/

Just copy and paste this in a Colab cell and it will install it 👍

import sys +Installing RDKit on Google Colab | Navan Chauhan
2 minute readCreated on July 1, 2020Last modified on September 15, 2020

Installing RDKit on Google Colab

RDKit is one of the most integral part of any Cheminfomatic specialist's toolkit but it is notoriously difficult to install unless you already have conda installed. I originally found this in a GitHub Gist but I have not been able to find that gist again :/

Just copy and paste this in a Colab cell and it will install it 👍

import sys import os import requests import subprocess diff --git a/posts/2020-08-01-Natural-Feature-Tracking-ARJS/index.html b/posts/2020-08-01-Natural-Feature-Tracking-ARJS/index.html index 59fa0f2..a5d0d8a 100644 --- a/posts/2020-08-01-Natural-Feature-Tracking-ARJS/index.html +++ b/posts/2020-08-01-Natural-Feature-Tracking-ARJS/index.html @@ -1,4 +1,4 @@ -Introduction to AR.js and Natural Feature Tracking | Navan Chauhan
7 minute readCreated on August 1, 2020Last modified on September 15, 2020

Introduction to AR.js and Natural Feature Tracking

AR.js

AR.js is a lightweight library for Augmented Reality on the Web, coming with features like Image Tracking, Location based AR and Marker tracking. It is the easiest option for cross-browser augmented reality.

The same code works for iOS, Android, Desktops and even VR Browsers!

It was initially created by Jerome Etienne and is now maintained by Nicolo Carpignoli and the AR-js Organisation

NFT

Usually for augmented reality you need specialised markers, like this Hiro marker (notice the thick non-aesthetic borders 🤢)

This is called marker based tracking where the code knows what to look for. NFT or Natural Feature Tracing converts normal images into markers by extracting 'features' from it, this way you can use any image of your liking!

I'll be using my GitHub profile picture

Creating the Marker!

First we need to create the marker files required by AR.js for NFT. For this we use Carnaux's repository 'NFT-Marker-Creator'.

$ git clone https://github.com/Carnaux/NFT-Marker-Creator +Introduction to AR.js and Natural Feature Tracking | Navan Chauhan
7 minute readCreated on August 1, 2020Last modified on September 15, 2020

Introduction to AR.js and Natural Feature Tracking

AR.js

AR.js is a lightweight library for Augmented Reality on the Web, coming with features like Image Tracking, Location based AR and Marker tracking. It is the easiest option for cross-browser augmented reality.

The same code works for iOS, Android, Desktops and even VR Browsers!

It was initially created by Jerome Etienne and is now maintained by Nicolo Carpignoli and the AR-js Organisation

NFT

Usually for augmented reality you need specialised markers, like this Hiro marker (notice the thick non-aesthetic borders 🤢)

This is called marker based tracking where the code knows what to look for. NFT or Natural Feature Tracing converts normal images into markers by extracting 'features' from it, this way you can use any image of your liking!

I'll be using my GitHub profile picture

Creating the Marker!

First we need to create the marker files required by AR.js for NFT. For this we use Carnaux's repository 'NFT-Marker-Creator'.

$ git clone https://github.com/Carnaux/NFT-Marker-Creator Cloning into 'NFT-Marker-Creator'... remote: Enumerating objects: 79, done. diff --git a/posts/2020-10-11-macOS-Virtual-Cam-OBS/index.html b/posts/2020-10-11-macOS-Virtual-Cam-OBS/index.html index 9302456..0274201 100644 --- a/posts/2020-10-11-macOS-Virtual-Cam-OBS/index.html +++ b/posts/2020-10-11-macOS-Virtual-Cam-OBS/index.html @@ -1,4 +1,4 @@ -Trying Different Camera Setups | Navan Chauhan
3 minute readCreated on October 11, 2020Last modified on November 17, 2020

Trying Different Camera Setups

  1. Animated Overlays
  2. Using a modern camera as your webcam
  3. Using your phone's camera as your webcam
  4. Using a USB Camera

Comparison

Here are the results before you begin reading.

+Trying Different Camera Setups | Navan Chauhan
3 minute readCreated on October 11, 2020Last modified on November 17, 2020

Trying Different Camera Setups

  1. Animated Overlays
  2. Using a modern camera as your webcam
  3. Using your phone's camera as your webcam
  4. Using a USB Camera

Comparison

Here are the results before you begin reading.

Normal Webcam USB Webcam Camo iPhone 5S diff --git a/posts/2020-11-17-Lets-Encrypt-DuckDns/index.html b/posts/2020-11-17-Lets-Encrypt-DuckDns/index.html index de0df91..c319535 100644 --- a/posts/2020-11-17-Lets-Encrypt-DuckDns/index.html +++ b/posts/2020-11-17-Lets-Encrypt-DuckDns/index.html @@ -1,4 +1,4 @@ -Generating HTTPS Certificate using DNS a Challenge through Let's Encrypt | Navan Chauhan
3 minute readCreated on November 17, 2020

Generating HTTPS Certificate using DNS a Challenge through Let's Encrypt

I have a Raspberry-Pi running a Flask app through Gunicorn (Ubuntu 20.04 LTS). I am exposing it to the internet using DuckDNS.

Dependencies

sudo apt update && sudo apt install certbot -y +Generating HTTPS Certificate using DNS a Challenge through Let's Encrypt | Navan Chauhan
3 minute readCreated on November 17, 2020

Generating HTTPS Certificate using DNS a Challenge through Let's Encrypt

I have a Raspberry-Pi running a Flask app through Gunicorn (Ubuntu 20.04 LTS). I am exposing it to the internet using DuckDNS.

Dependencies

sudo apt update && sudo apt install certbot -y

Get the Certificate

sudo certbot certonly --manual --preferred-challenges dns-01 --email senpai@email.com -d mydomain.duckdns.org

After you accept that you are okay with you IP address being logged, it will prompt you with updating your dns record. You need to create a new TXT record in the DNS settings for your domain.

For DuckDNS users it is as simple as entering this URL in their browser:

http://duckdns.org/update?domains=mydomain&token=duckdnstoken&txt=certbotdnstxt

Where mydomain is your DuckDNS domain, duckdnstoken is your DuckDNS Token ( Found on the dashboard when you login) and certbotdnstxt is the TXT record value given by the prompt.

You can check if the TXT records have been updated by using the dig command:

dig navanspi.duckdns.org TXT diff --git a/posts/hello-world/index.html b/posts/hello-world/index.html index 0fe1f32..b274dfa 100644 --- a/posts/hello-world/index.html +++ b/posts/hello-world/index.html @@ -1 +1 @@ -Hello World | Navan Chauhan
1 minute readCreated on April 16, 2019Last modified on June 1, 2020

Hello World

Why a Hello World post?

Just re-did the entire website using Publish (Publish by John Sundell). So, a new hello world post :)

Tagged with:
\ No newline at end of file +Hello World | Navan Chauhan
1 minute readCreated on April 16, 2019Last modified on June 1, 2020

Hello World

Why a Hello World post?

Just re-did the entire website using Publish (Publish by John Sundell). So, a new hello world post :)

Tagged with:
\ No newline at end of file diff --git a/posts/index.html b/posts/index.html index 7d0fc31..fc5c20e 100644 --- a/posts/index.html +++ b/posts/index.html @@ -1 +1 @@ -Posts | Navan Chauhan

Posts

Tips, tricks and tutorials which I think might be useful.

\ No newline at end of file +Posts | Navan Chauhan

Posts

Tips, tricks and tutorials which I think might be useful.

\ No newline at end of file -- cgit v1.2.3