Skip to content

Instantly share code, notes, and snippets.

@z-hao-wang
z-hao-wang / gist:da3fe5e4c22b9f80040d702a261b406e
Created October 19, 2016 17:45
react-native-rsa work with ursa
// In URSA
var crt = ursa.createPublicKeyFromComponents(new Buffer(publicKey.n, 'hex'), new Buffer(publicKey.e, 'hex'));
var textToEncrypt = 'sampleText';
var encryptedCipher = crt.encrypt(textToEncrypt, 'utf8', 'base64', DEFAULT_RSA_PADDING);
// In react-native
// convert a base64 string to hex
function b64tohex(s) {

Keybase proof

I hereby claim:

  • I am z-hao-wang on github.
  • I am haowang (https://keybase.io/haowang) on keybase.
  • I have a public key ASBly6BMsIWxVdBgCrGK8md6_uzwqdFktNKAz9uSIdxcBAo

To claim this, I am signing this object:

@z-hao-wang
z-hao-wang / attbillcalc.js
Last active May 28, 2024 13:14
Att bill payment split calculate
var values=document.getElementsByClassName('pad-r-xxxxs-sm');
var nums = [];
for (let i = 0; i < values.length; i++) {
nums.push(parseFloat(values[i].innerText.substring(1)))
}
var total = 8
let sharedIndex = 1; // todo : adjust this if there is late fee
let shared = nums[sharedIndex];
@z-hao-wang
z-hao-wang / attBillBookmark.js
Last active December 4, 2017 21:10
ATT Bill Bookmark
//Usage: create a bookmark (add page) in chrome. title type "ATT Bill", URL: paste content below.
//Login to att.com, go to your bills and make sure you can view wireless bill details. click on the bookmark.
javascript:(function(){for(var allData=$(".faux-table-cell").map(function(a,t){return $(t).text()}),sharedCostFields=["Unlimited Plus Multi Line"],map={},maxAmount=0,sharedCosts=0,output="",i=0;i<allData.length;i++){var row=allData[i];if(row.match(/\d\d\d-\d\d\d-\d\d\d\d/)){var amount=allData[i+1].replace(/\$/,"");map[row]={amount:parseFloat(amount)},amount>maxAmount&&(maxAmount=parseFloat(amount))}for(var j=0;j<sharedCostFields.length;j++)if(row.indexOf(sharedCostFields[j])>-1){var sharedCost=allData[i+1].replace(/\$/,"");sharedCosts+=parseFloat(sharedCost),output+="sharedCost "+row.trim()+": "+sharedCost.trim()+"\n"}}var size=Object.keys(map).length,sharedCostPerLine=sharedCosts/size,total=0;for(var key in map)map[key].amount===maxAmount&&(map[key].amount-=sharedCosts),map[key].amount+=sharedCostPerLine
const git = require('nodegit-kit');
const { exec } = require('child_process');
async function getCurrentBranchName() {
return new Promise(resolve => {
exec('git branch | grep \\*', function(err, stdout, stderr) {
resolve(stdout.replace('* ', ''));
});
});
}
@z-hao-wang
z-hao-wang / wsClientAutoReconnect.ts
Last active December 31, 2020 12:13
auto reconnect websocket client
import * as WebSocket from 'ws';
import * as EventEmitter from 'events';
// credit to https://github.com/websockets/ws/wiki/Websocket-client-implementation-for-auto-reconnect
class WebSocketClient extends EventEmitter{
private number = 0; // Message number
private autoReconnectInterval = 5 * 1000; // ms
private url: string = '';
private instance: WebSocket | null = null;
@z-hao-wang
z-hao-wang / grin-miner-cuda-setup.txt
Created January 26, 2019 20:14
Grin miner setup ubuntu 18 cuda docker
### INSTALL CUDA DRIVERS
sudo rm /etc/apt/sources.list.d/cuda*
sudo apt remove nvidia-cuda-toolkit
sudo apt remove nvidia-*
sudo apt update
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list'
sudo apt update
sudo apt install nvidia-driver-410
sudo apt install cuda-10-0
@z-hao-wang
z-hao-wang / gist:5e86d5a7b91c73db9ad7904262fa6de9
Last active October 16, 2023 14:51
download-polygon-snap
#!/bin/bash
function validate_network() {
if [[ "$1" != "mainnet" && "$1" != "mumbai" ]]; then
echo "Invalid network input. Please enter 'mainnet' or 'mumbai'."
exit 1
fi
}
function validate_client() {