Thursday, October 14, 2021

Google Sign-in Error: "sign in using your corporate mobile device" [Solved]

The error when you try to sign-in to any Google service like Youtube or Google Drive from a corporate account:

"We detected an unusual sign-in attempt. To ensure that someone else isn't trying to access your account, your organization needs you to sign in using your corporate mobile device (the phone or tablet you normally use to access your corporate account). If you don't have your corporate mobile device with you right now, try again later when you have your corporate mobile device with you. If you continue to have problems signing in, contact your administrator."

To suppress this warning, you can:
  • Go to Users >> Open the user account
  • Go to "Login challenge."
  • Click on "Turn off for 10 mins."
  • Try to login again, and it should be fine

Saturday, September 18, 2021

Unable to revert mtime: /Library/Fonts [Solved]

I was working on a python3 script on my macOS, and I came across this error:

% python3

Unable to revert mtime: /Library/Fonts

I got it solved by installing libmagic:

% brew install libmagic

Friday, September 17, 2021

NTRU in python3

  • NTRU – Nth Degree Truncated Polynomial Ring Units (or R = Z[X] / ( X^N-1 ))
  • NTRU is the first public-key cryptosystem not based on factorization or discrete logarithmic problems.
  • NTRU is a lattice-based alternative to RSA and ECC and is based on the shortest vector problem in a lattice.
  • NTRU is an open-source public-key cryptosystem that uses lattice-based cryptography to encrypt and decrypt data.
  • It consists of two algorithms: NTRUEncrypt, which is used for encryption, and NTRUSign, which is used for digital signatures.
  • Unlike other popular public-key cryptosystems, it is resistant to attacks using Shor's algorithm.
  • NTRUEncrypt was patented, but it was placed in the public domain in 2017. NTRUSign is patented, but it can be used by software under the GPL.

Example in Python3:

% python3 --version

Python 3.9.1

% pip3 install --user sympy

% pip3 install --user numpy

% pip3 install --user docopt

Wednesday, April 21, 2021

[How To] Save Space on Google Photos

Google Photos is a photo-sharing and storage service developed by Google. It was announced in May 2015 and separated from Google+, the company's former social network. In its free tier, Google Photos stores unlimited photos and videos up to 16 megapixels and 1080p resolution, respectively (anything larger gets down-scaled to these sizes). This free tier will end on June 1, 2021. Photos and videos uploaded after that date get counted towards the 15 GB free quota shared across the user's Google services. There are subscriptions offered for users wanting to store their photos and videos at their "original" quality and requiring more storage than the 15 GB offered free.

Storage (GB)Per Month (USD)Annual (USD)

You can check out how much storage you are using across Google services out of your quota of free 15 GB. Go to Google Drive and check the storage bar on the left side. Or you can click on the Setting button in Google Drive located on the Top Menu and click on the Storage option and check how much storage you are using. You can click on "View items taking up storage" and see which files occupy more space. If Google Photos is taking up space, then do the following to save some space.

Tuesday, March 30, 2021

[How To] Install Free SSL Certificate for WordPress

In this tutorial, I have installed a free SSL certificate from Let's Encrypt using the Certbot tool on Google Cloud Platform VM running Debian OS that hosts a WordPress site using Apache server. You can follow similar steps for other Cloud providers / OS distributions / CMS vendors / Web servers.

Part-1: Configure Virtual Host for your domain on Apache

cd /var/www/html

wp option update home ''

wp option update siteurl ''

sudo nano /etc/apache2/sites-available/

sudo apache2ctl configtest

sudo a2ensite

sudo systemctl reload apache2

Thursday, March 11, 2021

Random Number Generation in C++



//  main.cpp

//  VaultBox


//  Created by Devharsh Trivedi on 3/11/21.


#include <iostream>

#include <iomanip>

#include <string>

#include <map>

#include <random>

#include <cmath>

#include <vector>

int main(int argc, const char * argv[]) {

    std::random_device ranDev;

    unsigned int num_ranDev = ranDev();

    std::cout << num_ranDev << std::endl;

    std::mt19937 mtGen(num_ranDev);

    std::vector<unsigned long> indexes(10);


    iota(indexes.begin(), indexes.end(), 0);

    for(int i=0; i<10; i++) {

        std::cout << indexes[i] << "\t";


    std::cout << std::endl;

[How To] Save as an unlocked PDF

Steps to save a locked (password protected) PDF as an unlocked PDF:

  1. Download / Save / Copy the locked PDF to a folder
  2. Open Google Chrome
  3. Go to File Menu >> Open File >> Select your locked PDF
  4. Enter password
  5. Click on the Print button and select Save as a PDF
  6. The saved PDF will be unlocked

Friday, February 26, 2021

setsockopt: Protocol not available [Solved]

Problem code:

if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT, &opt, sizeof(opt))) 





if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt))) 





Wednesday, February 24, 2021

[How To] Fix "Waiting to Upload" in iCloud Drive

1. Check if you have enough free storage on iCloud

2. Go to Settings (iOS / iPadOS) or System Preferences (macOS) >> iCloud >> Sign Out

3. Wait for a minute or two after you have successfully logged out

4. Log in to iCloud again

5. Go to iCloud settings and >> iCloud Drive >> Options... >> select the checkbox for "Desktop & Documents Folder" >> Done

Sunday, February 21, 2021

Best tablets to buy in 2021

iPad Air 2020 256 GB -

Brand - Apple

Storage - 256 GB

Display - 10.9"

Resolution - 2360 x 1640

Operating System - iPadOS 14

stylus pen for iPad with palm rejection -

iPad Air 4th generation keyboard case -

iPad Air glass screen protector -

[How To] Use Cryptopp in Xcode

  • Crypto++ Library is a free C++ class library of cryptographic schemes. Currently the library contains the following algorithms: algorithm type name authenticated encryption schemes GCM, CCM, EAX, ChaCha20Poly1305 and XChaCha20Poly1305 high speed stream ciphers ChaCha (8/12/20), ChaCha (IETF), Panama, Salsa20, Sosemanuk, XSalsa20, XChaCha20 AES and AES candidates AES (Rijndael), RC6, MARS, Twofish, Serpent, CAST-256 ARIA, Blowfish, Camellia, CHAM, HIGHT, IDEA, Kalyna (128/256/512), LEA, SEED, RC5, SHACAL-2, other block ciphers SIMON (64/128), Skipjack, SPECK (64/128), Simeck, SM4, Threefish (256/512/1024), Triple-DES (DES-EDE2 and DES-EDE3), TEA, XTEA block cipher modes of operation ECB, CBC, CBC ciphertext stealing (CTS), CFB, OFB, counter mode (CTR), XTS message authentication codes BLAKE2s, BLAKE2b, CMAC, CBC-MAC, DMAC, GMAC, HMAC, Poly1305, Poly1305 (IETF), SipHash, Two-Track-MAC, VMAC BLAKE2s, BLAKE2b, Keccack (F1600), SHA-1, hash functions SHA-2 (224/256/384/512), SHA-3 (224/256/384/512), SHAKE (128/256), SipHash, SM3, Tiger, RIPEMD (128/160/256/320), WHIRLPOOL RSA, DSA, Deterministic DSA, ElGamal, public-key cryptography Nyberg-Rueppel (NR), Rabin-Williams (RW), LUC, LUCELG, EC-based German Digital Signature (ECGDSA), DLIES (variants of DHAES), ESIGN padding schemes for public-key PKCS#1 v2.0, OAEP, PSS, PSSR, IEEE P1363 systems EMSA2 and EMSA5 Diffie-Hellman (DH), Unified Diffie-Hellman (DH2), key agreement schemes Menezes-Qu-Vanstone (MQV), Hashed MQV (HMQV), Fully Hashed MQV (FHMQV), LUCDIF, XTR-DH elliptic curve cryptography ECDSA, Deterministic ECDSA, ed25519, ECNR, ECIES, ECDH, ECMQV, x25519 insecure or obsolescent MD2, MD4, MD5, Panama Hash, DES, ARC4, SEAL algorithms retained for backwards 3.0, WAKE-OFB, DESX (DES-XEX3), RC2, compatibility and historical SAFER, 3-WAY, GOST, SHARK, CAST-128, Square value

Friday, February 12, 2021

[How To] check if Intel SGX is enabled

Steps to check if Intel SGX is enabled on your system:

1. Download test-sgx.c from

2. % gcc test-sgx.c -o test-sgx

3. % ./test-sgx

eax: 806ea ebx: 4100800 ecx: 7ffafbbf edx: bfebfbff

stepping 10

model 14

family 6

processor type 0

extended model 8

extended family 0

smx: 0

Extended feature bits (EAX=07H, ECX=0H)

eax: 0 ebx: 29c67af ecx: 0 edx: 9c002600

sgx available: 1

sgx launch control: 0

CPUID Leaf 12H, Sub-Leaf 0 of Intel SGX Capabilities (EAX=12H,ECX=0)

eax: 0 ebx: 0 ecx: 0 edx: 0

sgx 1 supported: 0

sgx 2 supported: 0

MaxEnclaveSize_Not64: 0

MaxEnclaveSize_64: 0

CPUID Leaf 12H, Sub-Leaf 1 of Intel SGX Capabilities (EAX=12H,ECX=1)

eax: 0 ebx: 0 ecx: 0 edx: 0

CPUID Leaf 12H, Sub-Leaf 2 of Intel SGX Capabilities (EAX=12H,ECX=2)

eax: 0 ebx: 0 ecx: 0 edx: 0

CPUID Leaf 12H, Sub-Leaf 3 of Intel SGX Capabilities (EAX=12H,ECX=3)

eax: 0 ebx: 0 ecx: 0 edx: 0

CPUID Leaf 12H, Sub-Leaf 4 of Intel SGX Capabilities (EAX=12H,ECX=4)

eax: 0 ebx: 0 ecx: 0 edx: 0

CPUID Leaf 12H, Sub-Leaf 5 of Intel SGX Capabilities (EAX=12H,ECX=5)

eax: 0 ebx: 0 ecx: 0 edx: 0

CPUID Leaf 12H, Sub-Leaf 6 of Intel SGX Capabilities (EAX=12H,ECX=6)

eax: 0 ebx: 0 ecx: 0 edx: 0

CPUID Leaf 12H, Sub-Leaf 7 of Intel SGX Capabilities (EAX=12H,ECX=7)

eax: 0 ebx: 0 ecx: 0 edx: 0

CPUID Leaf 12H, Sub-Leaf 8 of Intel SGX Capabilities (EAX=12H,ECX=8)

eax: 0 ebx: 0 ecx: 0 edx: 0

CPUID Leaf 12H, Sub-Leaf 9 of Intel SGX Capabilities (EAX=12H,ECX=9)

eax: 0 ebx: 0 ecx: 0 edx: 0

4. sgx available = 1 means that the system has a CPU that supports Intel SGX

5. From sgx1 supported = 0 and max enclave size64 = 0 we infer that Intel SGX is disabled from BIOS

Tuesday, February 02, 2021

iOS v/s Android - Comparing 'Apples' to 'Oranges'

Apple iOS

Google Android


July 29, 2007

September 23, 2008

Latest Version




OS Model


Open Source






Google Assistant


1,000,000 on App Store

2,000,000 on Play Store

Operating System



Latest Phone

iPhone 12

Pixel 5

Phone Website

Let's compare some of the default apps on both platforms...