Skip to content

Instantly share code, notes, and snippets.

View kharioki's full-sized avatar
🤘
I'm burdened with glorious purpose

Tony Kharioki kharioki

🤘
I'm burdened with glorious purpose
View GitHub Profile
function digPow(n, p){
const digits = n.toString().split('').map(Number);
let sum = 0;
digits.forEach(digit => {
sum += Math.pow(digit , p);
p++;
})
return sum % n ? -1 : sum/n;
@kharioki
kharioki / tribonacci.js
Created July 4, 2021 15:55
Tribonacci - it works basically like a Fibonacci, but summing the last 3 (instead of 2) numbers of the sequence to generate the next.
function tribonacci(n) {
let seq = [1,1,1];
let index;
for (let i = 3; i < n; i++) {
seq.push(seq[seq.length - 1] + seq[seq.length - 2] + seq[seq.length - 3])
}
console.log(seq)
return seq.slice(0, n);
}
@kharioki
kharioki / toCamelCase.js
Created July 4, 2021 15:57
remove underscores or hyphens and uppercase the first letter
const str = "Yeah_so_many_underscores here";
// const str = "A-B-C";
// const newStr = str.replace(/_/g, " ");
const newStr = str.replace(/[_!@#$%^&*, -]/g, " ");
const arr = newStr.split(' ');
// remove first word
let arr1 = arr.slice(0,1)
let arr2 = arr.slice(1)
@kharioki
kharioki / getHitProbability.js
Created July 6, 2021 08:43
Calculation hit probability in battleship game in 2d array
function getHitProbability(R, C, G) {
// Write your code here
let empty = 0;
let filled = 0;
let tot = R*C
for(let i = 0; i < R; i++){
for(let j = 0; j < C; j++){
G[i] && G[i][j] === 1 ? filled++ : empty++
}
@kharioki
kharioki / countries.js
Created August 15, 2021 09:20
All countries listed with their flags, phone dial-code, e.tc.
export const Countries = [
{ ru:"Афганистан",lt:"Afganistanas",tr:"Afganistan", en: 'Afghanistan', flag: '🇦🇫', code: 'AF', dialCode: '+93', mask: '999 999 9999' },
{ ru:"Аландские острова",lt:"Alandų salos",tr:"Aland adaları", en: 'Åland Islands', flag: '🇦🇽', code: 'AX', dialCode: '+358', mask: '999 9999999' },
{ ru:"Албания",lt:"Albanija",tr:"Arnavutluk", en: 'Albania',flag: '🇦🇱',code: 'AL', dialCode: '+355', mask: '999 999 9999' },
{ ru:"Алжир",lt:"Alžyras",tr:"Cezayir", en: 'Algeria',flag: '🇩🇿',code: 'DZ', dialCode: '+213', mask: '9999 99 99 99' },
{ ru:"американское Самоа",lt:"Amerikos Samoa",tr:"Amerikan Samoası", en: 'American Samoa',flag: '🇦🇸',code: 'AS', dialCode: '+1684', mask: '(999) 999-9999' },
{ ru:"андорра",lt:"Andora",tr:"Andorra", en: 'Andorra',flag: '🇦🇩',code: 'AD', dialCode: '+376', mask: '999 999' },
{ ru:"Ангола",lt:"Angoloje",tr:"Angora", en: 'Angola',flag: '🇦🇴',code: 'AO', dialCode: '+244', mask: '999 999 999' },
{ ru:"Ангилья",lt:"Angilija",tr:"Anguilla",
@kharioki
kharioki / contracts...MyContract.sol
Created August 26, 2021 01:55
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.4+commit.c7e474f2.js&optimize=false&runs=200&gist=
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract MyContract {
string value;
function get() public view returns (string memory) {
return value;
}
@kharioki
kharioki / RethinkDB.md
Last active September 17, 2021 16:31
A RethinkDB cheatsheet.

RethinkDB Cheat Sheet

Create database

r.dbCreate('mydb')

List databases

@kharioki
kharioki / marketplace.sol
Created October 4, 2021 21:59
A marketplace smart contract with solidity
// SPDX-License-Identifier: MIT
pragma solidity >=0.7.0 <0.9.0;
contract Marketplace {
uint internal productsLength = 0;
struct Product {
address payable owner;
@kharioki
kharioki / ExampleFlowNFT.cdc
Created June 28, 2022 14:41
A sample NFT on Flow network
/*
*
* This is an example implementation of a Flow Non-Fungible Token
* It is not part of the official standard but it assumed to be
* similar to how many NFTs would implement the core functionality.
*
* This contract does not implement any sophisticated classification
* system for its NFTs. It defines a simple NFT with minimal metadata.
*
*/
@kharioki
kharioki / rust-config.sh
Created July 5, 2022 02:51
Rust env configuration for macbook
### MacPorts
# requires the pkg to be present, ignore if already installed
xcode-select --install
sudo xcodebuild -license
sudo installer -pkg MacPorts-2.7.1-11-BigSur.pkg -target /
sudo port selfupdate
### VS Code
# requires the app directory, ignore if already installed
sudo cp -r 'Visual Studio Code.app' /Applications/