Skip to content

Instantly share code, notes, and snippets.

View tejzpr's full-sized avatar

Tejus tejzpr

View GitHub Profile
//Fastest way to copy a Collection in MongoDB
db.getCollection('OriginalCollection').aggregate([ { $out: "ClonedCollection" } ]);
// JavaScript (ES6) port of the code at https://gist.github.com/bhelx/778542
// Also handles leading 0's in strings
const BASE = 62;
const UPPERCASE_OFFSET = 55;
const LOWERCASE_OFFSET = 61;
const DIGIT_OFFSET = 48;
class Base62{
constructor() {
@tejzpr
tejzpr / strstr.js
Created February 5, 2018 21:22
Javascript strstr
String.prototype.strstr = function(needle) {
const haystack = this;
if(!needle) return [0];
if(!haystack || needle.length > haystack.length) return [-1];
let i,j;
let positions = [];
for(i=0;i<haystack.length;i++) {
let index = i;
j=0;
@tejzpr
tejzpr / binary_tree.js
Created February 5, 2018 21:53
Javascript Binary Tree
class Node {
constructor(data) {
this.data = data;
this.left = null;
this.right = null;
this.inorderOut = [];
this.preorderOut = [];
this.postorderOut = [];
}
insert(data) {
@tejzpr
tejzpr / btree-wordcount.js
Last active February 6, 2018 21:43
Word counter using a B-Tree
class Node {
constructor(data) {
this.data = data;
this.count = 1;
this.left = null;
this.right = null;
this.inorderOut = [];
this.preorderOut = [];
this.postorderOut = [];
}
@tejzpr
tejzpr / ddwrite.sh
Last active April 6, 2024 17:51
Write a Bootable ISO to USB in Linux using dd
sudo dd bs=4M if=~/Downloads/Fedora-KDE-Live-x86_64-28-1.1.iso of=/dev/sdb status=progress conv=fdatasync
#Get Usb drive name by issuing the following command
#fdisk -l
#http://www.webupd8.org/2014/04/prevent-your-laptop-from-overheating.html
@tejzpr
tejzpr / dim-screen-ubuntu.txt
Last active June 5, 2018 05:02
Dim backlight in Intel Graphics based Laptops running Ubuntu 18.04 (Gnome or Budgie)
Open a terminal and run the following commands (cd to your home directory first)
sudo apt install xbacklight
xauth generate :0 . trusted
xauth add ${HOST}:0 . $(xxd -l 16 -p /dev/urandom)
sudo vi /etc/udev/rules.d/98-backlight.rules
Paste the following into the 98-backlight.rules
################################################# START ###################################
# Adjust screen brightness according to power state
# 1st rule for when on AC
ACTION=="change", SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="1", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/USERNAME/.Xauthority", RUN+="/usr/bin/xbacklight -set 85"
  1. Re-Order Lauchpad APPS
defaults write com.apple.dock ResetLaunchPad -bool true; killall Dock
@tejzpr
tejzpr / LICENSE
Last active March 6, 2021 04:10
This license applies to all my Public Gists unless another License is specifically applied in source code of that particular Gist.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
@tejzpr
tejzpr / fhvhash.go
Created March 1, 2021 18:00
FNV Hash - Go
package main
import "fmt"
func fnvHash32(key string) uint32 {
hash := uint32(2156825496)
const prime32 = uint32(16777619)
for i := 0; i < len(key); i++ {
hash *= prime32
hash ^= uint32(key[i])