Skip to content

Instantly share code, notes, and snippets.

@samaybhavsar
samaybhavsar / ChunkerTransformStream.js
Created August 30, 2022 14:34
Reading stream from "fetch" return chunks of random size, this function transforms the same to chunks of a given size in the browser
// Reading stream from "fetch" return chunks of random size, this function transforms the same to chunks of a given size.
import { decrypt } from "./utils";
export const ChunkerTransformStream = (chunkSize, encryptionKey) => {
chunkSize = chunkSize || 1024 * 1024 * 5;
const SERVER_ENCRYPTION_IV_LENGTH = 12;
const AES_GCM_TAG_SIZE = 16
chunkSize = chunkSize + SERVER_ENCRYPTION_IV_LENGTH + AES_GCM_TAG_SIZE;
let chunk = new Uint8Array();
@samaybhavsar
samaybhavsar / md5.js
Created August 10, 2022 13:58
MD5 in JavaScript
const md5 = function (d) { var r = M(V(Y(X(d), 8 * d.length))); return r.toLowerCase() }; function M(d) { for (var _, m = "0123456789ABCDEF", f = "", r = 0; r < d.length; r++)_ = d.charCodeAt(r), f += m.charAt(_ >>> 4 & 15) + m.charAt(15 & _); return f } function X(d) { for (var _ = Array(d.length >> 2), m = 0; m < _.length; m++)_[m] = 0; for (m = 0; m < 8 * d.length; m += 8)_[m >> 5] |= (255 & d.charCodeAt(m / 8)) << m % 32; return _ } function V(d) { for (var _ = "", m = 0; m < 32 * d.length; m += 8)_ += String.fromCharCode(d[m >> 5] >>> m % 32 & 255); return _ } function Y(d, _) { d[_ >> 5] |= 128 << _ % 32, d[14 + (_ + 64 >>> 9 << 4)] = _; for (var m = 1732584193, f = -271733879, r = -1732584194, i = 271733878, n = 0; n < d.length; n += 16) { var h = m, t = f, g = r, e = i; f = md5_ii(f = md5_ii(f = md5_ii(f = md5_ii(f = md5_hh(f = md5_hh(f = md5_hh(f = md5_hh(f = md5_gg(f = md5_gg(f = md5_gg(f = md5_gg(f = md5_ff(f = md5_ff(f = md5_ff(f = md5_ff(f, r = md5_ff(r, i = md5_ff(i, m = md5_ff(m, f, r, i, d[n +
@samaybhavsar
samaybhavsar / fib.php
Created May 28, 2021 02:25
Fibonacci
// with recursion
function fib($n) {
$sum = 0;
if($n == 0) {
return 0;
} else if ($n == 1) {
return 1;
} else {
return $sum + fib($n-1) + fib($n-2);
@samaybhavsar
samaybhavsar / OpenSourceBaas.md
Created March 24, 2020 21:09 — forked from PARC6502/OpenSourceBaas.md
List of open source, self hosted BaaS - Backend as a service

Parse Server - ~16K stars

  • javascript based
  • mongodb or postgres database
  • Has dockerfile

nakama - ~2.2k stars

  • go based
  • cockroach db
  • designed for use with games
@samaybhavsar
samaybhavsar / file.php
Created February 13, 2020 20:51
month calender
<?php
function getDates($month = null, $year = null) {
$list=array();
$date_list = array();
if(!$month)
$month = date('m');
if(!$year)
$year = date('y');
color_clarity=VVS EF,metal_type=14 KT Yellow Gold",0,1,0,0,1,1,1,10000,1,1,1,1,1,1,1,0,0,0,0,0,DOCRING_5243/RD_RN_5243_S.jpg,DOCRING_5243/RD_RN_5243_S.jpg,DOCRING_5243/RD_RN_5243_S.jpg,"DOCRING_5243/RDRN5243T.jpg,DOCRING_5243/RD_RN_5243_F.jpg,DOCRING_5243/RD_RN_5243_P.jpg,DOCRING_5243/RD_RN_5243_S.jpg,DOCRING_5243/RD_RN_5243_T.jpg","sku=KDRJ5243R_WAA18KDG6XXXXXXXX_ABCD06,color_clarity=SI IJ,metal_type=18 KT White Gold,ring_size=6|sku=KDRJ5243R_WAA18KDG6XXXXXXXX_ABCD07,color_clarity=SI IJ,metal_type=18 KT White Gold,ring_size=7|sku=KDRJ5243R_WAA18KDG6XXXXXXXX_ABCD08,color_clarity=SI IJ,metal_type=18 KT White Gold,ring_size=8|sku=KDRJ5243R_WAA18KDG6XXXXXXXX_ABCD09,color_clarity=SI IJ,metal_type=18 KT White Gold,ring_size=9|sku=KDRJ5243R_WAA18KDG6XXXXXXXX_ABCD10,color_clarity=SI IJ,metal_type=18 KT White Gold,ring_size=10|sku=KDRJ5243R_WAA18KDG6XXXXXXXX_ABCD11,color_clarity=SI IJ,metal_type=18 KT White Gold,ring_size=11|sku=KDRJ5243R_WAA18KDG6XXXXXXXX_ABCD12,color_clarity=SI IJ,metal_type=18 KT White Gold,ring_s
1. Highlight a recommended option,

2. Allow users to switch currency (€/$/£)

3. Allow users to switch pricing monthly/yearly

4. Keep the entire pricing plan area clickable

5. Use slider to calculate how much a user would save

6. Provide free first month for good engagement

7. Prominently highlight testimonials prominently

8. Repeating call to action on top and bottom

9. Sell benefits instead of features

10. Indicate that users can cancel any time


Keybase proof

I hereby claim:

  • I am samaybhavsar on github.
  • I am samaybhavsar (https://keybase.io/samaybhavsar) on keybase.
  • I have a public key whose fingerprint is 2F9D B9D9 6EB1 4AE9 BFB4 95E4 CC1A 5983 D659 5C53

To claim this, I am signing this object:

@samaybhavsar
samaybhavsar / multiple_ssh_setting.md
Created June 9, 2016 09:07 — forked from jexchan/multiple_ssh_setting.md
Multiple SSH keys for different github accounts

Multiple SSH Keys settings for different github account

create different public key

create different ssh key according the article Mac Set-Up Git

$ ssh-keygen -t rsa -C "your_email@youremail.com"
@samaybhavsar
samaybhavsar / change-mac-address-osx-10.11.4
Created May 11, 2016 05:33
Commands to Change Mac Address OSX
To check mac address
ifconfig en0 | grep ether
To change mac address
sudo ifconfig en0 ether 00:e2:e3:e4:e5:e6